集合即由一个或多个确定的元素所构成的整体。其使用{}括号,具有无序、唯一的特点。
目录
1、创建集合
nums = {1, 2, 3, 4, 5}
print(type(nums))
nums = set("12345")
print(type(nums))
print(nums)
2、集合推导式
格式与列表推导式相同:
nums = {1, 2, 3, 4, 5}
nums_ = {i * 2 for i in nums}
print(nums_)
3、唯一性
nums = set("1122334455")
print(nums)
利用集合的唯一性,可判断序列是否有重复数:
nums = [1, 2, 3, 4, 5, 5]
if len(nums) == len(set(nums)):
print("没有重复")
else:
print("有重复")
4、交并补子超
交
得出两集合的交集可使用intersection函数:
a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.intersection(b)
print(x)
可使用isdisjoint函数判断两个集合是否不相关,即没有相同的元素:
a = {1, 2, 3, 4, 5}
b = {0, 1}
x = a.isdisjoint(b)
print(x)
# 结果为False
并
得出两个集合的并集可使用union函数:
a = {1, 2, 3, 4, 5}
b = {0, 1, 2}
x = a.union(b)
print(x)
补
使用difference函数可得出b关于a集合的补集:
a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.difference(b)
print(x)
子
使用issubset函数可以判断b是否为a的子集:
a = {1, 2, 3, 4, 5}
b = {1, 2}
x = b.issubset(a)
print(x)
超
超,即超集,子集反过来,使用issuperset函数可判断a是否为b的超集:
a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.issuperset(b)
print(x)
5、特殊运算符
a = {1, 2, 3, 4, 5}
b = {1, 2}
print(a >= b)
# 真子集
print(a | b)
# 并集
print(a & b)
# 交集
6、静态集合
使用freozenset函数可创建不可修改的集合:
num = frozenset({1, 2, 3, 4, 5})
print(num)
7、修改集合
使用update函数可以修改集合,其以可迭代对象的方式放入集合,即会拆分字符串:
nums = {1, 2, 3, 4, 5}
nums.update({6, 7, 8}, "lwy", "lxy")
print(nums)
使用add函数可给集合加一个对象,即不会拆分字符串:
nums = {1, 2, 3, 4, 5}
nums.add("lwy")
print(nums)
使用remove函数可删除集合中的指定对象:
nums = {1, 2, 3, 4, 5}
nums.remove(1)
print(nums)
使用pop函数可随机删除集合中的一个对象,其实为删除集合中第一个对象,由于集合是无序的,故称为随机删除:
nums = {1, 2, 3, 4, 5}
nums.pop()
print(nums)
使用clear函数可清空集合:
nums = {1, 2, 3, 4, 5}
nums.clear()
print(nums)