
上QQ阅读APP看书,第一时间看更新
1.9 Python集合
Python集合是任意不重复对象的整体,也是无序和无索引的集合,集合中的元素无法单独改变。在Python中,集合也以大括号({})的形式编写,但与字典不同的是,其元素可以为任意对象,而不一定为键-值对。
创建集合通过变量赋值的方式进行,集合可以执行交集与并集运算。示例如下,输入以下代码并逐行运行:
set1 ={'宁德时代 300750','比亚迪 002594','赣锋锂业 002460'} # 生成集合set1 set2 ={'国轩高科 002074','赣锋锂业 002460'} # 生成集合set2 set3=set1|set2 # 生成set1与set2的并集set3 set3 # 查看集合set3 set4=set1&set2 # 生成set1与set2的交集set4 set4 # 查看集合set4
可在IPython控制台看到如图1.51所示的运行结果。

图1.51 运行结果
此外,我们还可以调用第1.5.6节“与序列相关的内置函数”介绍的set(seq)函数,将序列seq转换为可变集合对象。但需要注意的是,如果序列是带有重复元素的列表,则多余的重复元素将被删除掉,以确保集合是任意不重复对象的整体。示例如下,输入以下代码并逐行运行:
list1 =['宁德时代 300750','比亚迪 002594','赣锋锂业 002460','赣锋锂业 002460'] # 生成列表list1 type(list1) # 查看list1的类型 set1=set(list1) # 将列表list1转化为集合set1 type(set1) # 查看set1的类型 set1 # 查看集合set1
可在IPython控制台看到如图1.52所示的运行结果。

图1.52 运行结果