加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

什么是Python集合推导

发布时间:2023-06-15 13:22:17 所属栏目:教程 来源:
导读:列表推导用于快速生成一个列表,类似的,Python 同时提供了集合推导用于快速生成一个集合,语法如下:

{expression for item iteratable}
可以认为它使用如下代码创建了一个集合:

s = set()for item iterata
列表推导用于快速生成一个列表,类似的,Python 同时提供了集合推导用于快速生成一个集合,语法如下:

{expression for item iteratable}
可以认为它使用如下代码创建了一个集合:

s = set()for item iteratable:s.add(expression)
在第 1 行,使用函数 set () 创建一个空的集合

在第 2 行,创建一个循环语句,遍历 iteratable

在第 3 行,在循环中,向集合添加元素 expression

与列表推导类似,集合推导也支持 if 语句进行选择,语法如下:

{expression for item iteratable if condition}
可以认为它使用如下代码创建了一个集合:

s = set()for item iteratable:if condition:s.add(expression)
注意,在第 3 行,只有满足条件,才会将元素添加到集合中。

应用举例

包含从 0 到 10 之间所有整数的集合

>>> {i for i in range()}{, , , , , , , , , }
将集合中的元素乘以 10

>>> set = {, , }>>> {i* for i in set}{, , }
将列表中所有的字符串变成大写

>>> set = {'www', 'imooc', 'com'}>>> {i.upper() for i in set}{'WWW', 'IMOOC', 'COM'}
包含所有的正整数的集合

>>> set = {-, , -, , -, }>>> {i for i in list if i > }{, , }
包含两个字符的字符串集合

>>> {x + y for x in 'ABC' for y in 'XYZ'}{'AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ'}

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章