Python学习第三天之集合

柳三千

温馨提示:这篇文章已超过521天没有更新,请注意相关的内容是否还可用!

前言

  集合是可变的、无序的数据类型,其元素是唯一的,不可重复的;Python中的集合用逗号将元素隔开,整体用花括号包裹;也就是相当于去掉值,只剩下键的字典


创建集合

test = {'小明','小红','许刚不许刚','校长','小张'}
print(type(test))

list2=[2,3,22,22,22,22,88,99]
set2 = set(list2)#列表转换成集合
print(set2)#元素的唯一性,利用这一特性,我们可以轻松的做数据的“去重”操作。


集合添加元素

list2=[2,3,22,22,22,22,88,99]
set2 = set(list2)#列表转换成集合

set2.add('2029')#字符串
set2.add(2029)#数字类型
print(set2)

#添加元组
set2.add(('route','switch'))#添加元组没问题
print(set2)

#添加列表
set2.add([2003,2389])#报错
#set2.add([2003,2389])
#TypeError: unhashable type: 'list'

#为什么报错呢?集合中元素必须唯一。不能添加可变容器序列。列表、字典和集合都有可能破坏了元素的唯一性。


集合元素删除

#方法discard(),可以删除集合中的元素,如果集合中没有这个元素的话,不会报错。
test = {'小明','小红','许刚不许刚','校长','小张'}
test.discard('小明')
test.discard('小天')
print(test)

#清空集合所有的元素
test = {'小明','小红','许刚不许刚','校长','小张'}
test.clear()
print(test)#为什么不是{},因为{}表示空字典。为了区别,所以空集合呈现为set()。


集合并集 union() |

#两个集合合并,不同的合并,相同的去重,有一个术语叫“并集”。
test = {100,200,300,500,200}
test2 = {200,500,600,200}
a=test.union(test2)
print(a)

#用这个管道符进行处理,效果一致。
test = {100,200,300,500,200}
test2 = {200,500,600,200}
a=test | test2
print(a)


集合交集 intersection() &

test = {100,200,300,500,200}
test2 = {200,500,600,200}
b=test.intersection(test2)
print(b)

#也可以用&
a=test & test2
print(a)


集合生成式

a={i*i for i in range(1,10)}
print(a)
print(type(a))
文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码