Python学习之路--集合

集合

可变的数据类型,里面的元素不可变,集合无序,不重复

创建

set1 = set({1,2,3,})
set2 = {1,2,3}
print(set1)
print(set2)
{1, 2, 3}
{1, 2, 3}
View Code

增加

add()

set1 = {'rsfs','dfsf','fs'}
set1.add('女神')
print(set1)
#{'女神', 'dfsf', 'fs', 'rsfs'}

update()

set1.update('wd')
print(set1)
# {'fs', 'rsfs', 'd', 'dfsf', 'w'}

删除

pop()随机删除,有返回值

set1.pop()
print(set1)
#{'dfsf', 'rsfs'}

remove()按元素删除,删除不存在的元素,会报错

set1.remove('fs')
print(set1)
#{'dfsf', 'rsfs'}

clear()清空

del 删除

for i in set1:
    print(i)
# rsfs
# dfsf
# fs

查询

for i in set1:
     print(i)
# rsfs
# dfsf
# fs

交集计算

& ,intersection

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

并集计算

| 、union

print(set1 | set2)
print(set1.union(set2))

反交集

^  sy

print(set1 ^ set2)
print(set1.symmetric_difference(set2))
# {1, 2, 3, 6, 7, 8}
# {1, 2, 3, 6, 7, 8}

差集

- 、difference

print(set1 - set2)
print(set1.difference(set2))
# {1, 2, 3}
# {1, 2, 3}

子集(<、issubset)和超集(>、issuperset)

set1 = {1,2,3,}
set2 = {1,2,3,4}
print(set1 < set2)
print(set1.issubset(set2))
print(set2 > set1)
print(set2.issuperset(set1))
# True
# True
# True
# True

frozenset 将其转换成不可变类型

s = frozenset('ba')
print(s,type(s))
for i in s:
    print(i)
# frozenset({'b', 'a'}) <class 'frozenset'>
# b
# a

 

posted on 2019-05-23 22:38  久加  阅读(154)  评论(0)    收藏  举报