python 集合学习(重点记忆)

集合
可以使用大括号 { } 或者 set() 函数创建集合
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合里元素会自动去重

a=set('dfdhfj')
a=set(('df','fdf','qwew'))

并交叉:
a - b # 集合a中包含而集合b中不包含的元素
a | b # 集合a或b中包含的所有元素
a & b # 集合a和b中都包含了的元素
a ^ b # 不同时包含于a和b的元素

高级语法

a = {x for x in 'abracadabra' if x not in 'abc'}
a
#输出为 {'r','d'}

添加

1.a.add(x)

a=set('dfdfsf')
b=set(('df','w','ererr'))
a.add('dfdf')
b.add('rewir')
#都是直接当做一个元素

2.s.update(x)
参数可以是列表,元组,字典等

#添加集合
thisset = set(("Google", "Runoob", "Taobao"))
thisset.update({1,3})
print(thisset)
{1, 3, 'Google', 'Taobao', 'Runoob'}
#添加列表
thisset.update([1,4],[5,6])
print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}

删除
!!!注意 不是del

s.remove(x)

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:

s.discard( x )

我们也可以设置随机删除集合中的一个元素,语法格式如下:

s.pop()

多次执行测试结果都不一样。

然而在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)。

计算集合个数

len(s)

清空集合

s.clear()

判断元素是否在集合中存在

x in s