首页 > 编程语言 > 详细

python之集合

时间:2018-08-15 19:59:31      阅读:175      评论:0      收藏:0      [点我收藏+]

集合:可变的数据类型,他里面的元素是不可变的数据类型,无序,不重复
不可变是可哈希
set1 = set({1,2,3})
set2 = {1,2,3,[2,3],{‘name‘:‘alex‘}} #集合元素不可变的 所以输出错误
print(set1)
print(set2)

增:
1.#add
set1.add(‘alex‘)
2.#update
set1.update(‘abc‘) #迭代增加 把a b c分别增加

删:
1.#pop
set.pop() #随机删除 有返回值
print(set1)

2.#remove
set.remove(‘alex‘) #按元素

3.#clear 清空
set.clear()

4.#del 删除整个集合

查:(只能for循环查)
for i in set1:
print(i)

交集:
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
set3 = set1&set2
print(set3)
print(set1.intersection(set2))

并集:
print(set1 | set2)
print(set2.union())

反交集:
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1^set2)
print(set1.symmetric_difference(set2))

差集:
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1-set2)# set1独有的
print(set1.difference())

子集:
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1<set2)
print(set1.issubset())#返回布尔值

超集:
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1>set2)
print(set1.issuperset())#返回布尔值
print(set1.issubset())#返回布尔值

去重(面试题):
li = [1,2,33,33,2,1,4,5,6,6]
set1 =set(li)
li = list(set1)
print(li)

frozenset不可变集合,让集合变成不可变集合:
s = frozenset(‘barry‘)
只读无序:
for i in s :
print(i)

 

python之集合

原文:https://www.cnblogs.com/chif/p/9483433.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!