Python 集合推导式

Python 集合推导式语法

在 Python 中,我们可以使用 “推导式” 的方式来快速生成一个集合。这种方式叫做 “集合推导式” 或 “集合生成式”。

语法:

集合名 = {表达式 for 变量名 in 可迭代对象 if condition}

说明:

小伙伴们可能已经发现,可变类型(如列表、字典和集合)都有推导式的语法,而不可变类型(如字符串和元组)是没有的。

列表、字典和集合这三个的推导式,都是通过循环和条件判断的配合来实现的,它们之间的区别如下。

  • 列表推导式:返回一个列表,整个表达式需要写在 “[]” 内部。
  • 字典推导式:返回一个字典,整个表达式需要写在 “{}” 内部。
  • 集合推导式:返回一个集合,整个表达式需要写在 “{}” 内部。

Python 集合推导式示例

接下来,我们通过几个简单的例子来讲解 Python 集合推导式是如何使用的。

示例 1:使用集合推导式

nums = { n + 10 for n in range(1, 6) }
print(nums)

运行结果如下。

{11, 12, 13, 14, 15}

示例 2:带有 if 条件的集合推导式

nums = [1, 1, 2, 3, 4, 4, 5, 6]
result = {n for n in nums if n % 2 == 0}
print(result)

运行结果如下。

{2, 4, 6}

分析:

在这个例子中,我们使用 if n % 2 == 0 过滤出了偶数,而且因为使用的是集合推导式,最终生成的集合自动会去除原列表中的重复数字 4。

提示: 在实际开发中,大多数情况下我们使用的都是列表推导式或字典推导式,而集合推导式使用得比较少。因此对于集合推导式,只需简单了解即可。

上一篇: Python 集合运算

下一篇: Python 函数

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号