python3 set(集合)小结

补充前面:

内容是否可变:

(1)可变:列表,字典

(2)不可变:数字,字符串,元祖

访问顺序:

(1)顺序访问:字符串,列表,元祖

(2)映射:字典

(3)直接访问:数字

存放元素个数:

(1)容器类型:列表,元祖,字典

(2)原子(只有一个):数字,字符串

集合:

1.

(1)不同的元素组成

(2)无序排列

(3)构成:不可变数据类型(数字,字符串,元祖)

s={1,2,"we",sd,(12,"sd")}

或者a=set{1,2,"we",sd,(12,"sd")}------------------该种方式进行定义时候,循环可以简单去重,无序排列,不可回到之前

2.添加

#添加
# s.add('s')
# s.add('3')
# s.add(3)
# print(s)

  3.清除和拷贝

# s.clear()
# print(s)

# s1=s.copy()

  4.删除

s={1,2,"we",sd,(12,"sd")}
#随机删
# s.pop()

#指定删除
# s.remove('sb')
# s.remove('hellol') #删除集合中不存元素在会报错 
# s.discard('sbbbb')#删除集合中不存元素不会报错
# print(s)

  5.交集,并集,差集,交叉补集

t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 交集
print(t1.intersection(t2))
print(t1 & t2)
#{33, 11, 22}
#{33, 11, 22}

  

t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 并集
print(t1.union(t2))
print(t1 | t2)
#{33, (23, 45, 54, 'qwe'), 'qwe', 11, 'asd', 'rtf', 22, 'fh', 'ui', (23, 45, 54, 'qwe', (12, 'zx'))}

#{33, (23, 45, 54, 'qwe'), 'qwe', 11, 'asd', 'rtf', 22, 'fh', 'ui', (23, 45, 54, 'qwe', (12, 'zx'))}

  

t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 并集
print(t1.difference(t2))
print(t1 - t2)

#{'qwe', 'asd', (23, 45, 54, 'qwe')}
#{'qwe', 'asd', (23, 45, 54, 'qwe')}

  

t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
print("交叉补集:",t1.symmetric_difference(t2))
print("交叉补集:",t1 ^ t2)
print("差集:",t1.symmetric_difference_update(t2))

#交叉补集: {'rtf', (23, 45, 54, 'qwe', (12, 'zx')), 'fh', (23, 45, 54, 'qwe'), 'asd', 'qwe', 'ui'}

#交叉补集: {'rtf', (23, 45, 54, 'qwe', (12, 'zx')), 'fh', (23, 45, 54, 'qwe'), 'asd', 'qwe', 'ui'}

#差集: None

6.定义不可变的集合,frozenset

s=frozenset('hello')

 

posted @ 2018-08-30 01:36  小猪猪猪  阅读(355)  评论(0)    收藏  举报