参考https://www.runoob.com/python3/python3-set.html
特点:
不重复,无序的,不能用索引,但能用遍历
eg.
1 创建
a=set()#空集合
print(a)
b={1,2,'abc'}#大括号中为初始的集合元素
print(b)
c={1,2,1,1,2}#集合里的元素是不重复,无序的
print(c)
输出
set()#空集合
{1,2,'abc'}#非空集合
{1,2}
2 与字符串、列表、元组、字典的转换
a='abcde'#a为字符串
test=set(a)
print(test)
b=[1,2,3]#b为列表
test=set(b)
print(test)
c=(1,2,'abc')#c为元组
test=set(c)
print(test)
d={'a':1,'b':2,'c':3}#d为字典
#字典转为集合后,key加入集合,vallue被忽略
test=set(d)
print(test)
输出
{'e', 'd', 'a', 'b', 'c'}
{1, 2, 3}
{1, 2, 'abc'}
{'a', 'b', 'c'}
3 判断某元素是否在集合内
nums={1,2,3}#遍历查找
if 3 in nums:
print(True)
else:
print(False)
输出
True
4 方法
1 添加元素
a.
nums={1,2,3}
nums.add(6)#添加元素6,如果元素已存在,则不进行任何操作。
print(nums)
输出
{1, 2, 3, 6}
b.
nums={1,2,3}
nums.update(['adw',8]) #添加元素,且参数可以是列表,元组,字典等
print(nums)
输出
{1, 2, 3, 8, 'adw'}
2 删除元素
a.
nums={1,2,3}
nums.remove(1)#移除集合中的元素1,如果元素不存在,则会发生错误。
print(nums)
输出
{2, 3}
b.
nums={1,2,3}
nums.discard(3)#移除集合中的元素,且如果元素不存在,不会发生错误。
print(nums)
输出
{1,2}
3 清空集合
nums={1,2,3}
nums.clear()
print(nums)
输出
set()
5 集合之间的运算(及运算方法)
交集 &/intersection
并集 |/union
差集 -/difference
对称差集 ^/ symmetric_difference ( 取集合 A 和 B 中不属于 A&B 的元素 )
a={1,2,3,4}
b={3,4,5,6}
print(a&b)
print(a.intersection(b))
print(b&a)
print(b.intersection(a))
print(a|b)
print(a.union(b))
print(b|a)
print(b.union(a))
print(a-b)
print(a.difference(b))
print(b-a)
print(b.difference(a))
print(a^b)
print(a.symmetric_difference(b))
print(b^a)
print(b.symmetric_difference(a))
输出
{3, 4}
{3, 4}
{3, 4}
{3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2}
{1, 2}
{5, 6}
{5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}
参考https://www.runoob.com/python3/python3-set.html
特点:
不重复,无序的,不能用索引,但能用遍历
eg.
1 创建
a=set()#空集合
print(a)
b={1,2,'abc'}#大括号中为初始的集合元素
print(b)
c={1,2,1,1,2}#集合里的元素是不重复,无序的
print(c)
输出
set()#空集合
{1,2,'abc'}#非空集合
{1,2}
2 与字符串、列表、元组、字典的转换
a='abcde'#a为字符串
test=set(a)
print(test)
b=[1,2,3]#b为列表
test=set(b)
print(test)
c=(1,2,'abc')#c为元组
test=set(c)
print(test)
d={'a':1,'b':2,'c':3}#d为字典
#字典转为集合后,key加入集合,vallue被忽略
test=set(d)
print(test)
输出
{'e', 'd', 'a', 'b', 'c'}
{1, 2, 3}
{1, 2, 'abc'}
{'a', 'b', 'c'}
3 判断某元素是否在集合内
nums={1,2,3}#遍历查找
if 3 in nums:
print(True)
else:
print(False)
输出
True
4 方法
1 添加元素
a.
nums={1,2,3}
nums.add(6)#添加元素6,如果元素已存在,则不进行任何操作。
print(nums)
输出
{1, 2, 3, 6}
b.
nums={1,2,3}
nums.update(['adw',8]) #添加元素,且参数可以是列表,元组,字典等
print(nums)
输出
{1, 2, 3, 8, 'adw'}
2 删除元素
a.
nums={1,2,3}
nums.remove(1)#移除集合中的元素1,如果元素不存在,则会发生错误。
print(nums)
输出
{2, 3}
b.
nums={1,2,3}
nums.discard(3)#移除集合中的元素,且如果元素不存在,不会发生错误。
print(nums)
输出
{1,2}
3 清空集合
nums={1,2,3}
nums.clear()
print(nums)
输出
set()
5 集合之间的运算(及运算方法)
交集 &/intersection
并集 |/union
差集 -/difference
对称差集 ^/ symmetric_difference ( 取集合 A 和 B 中不属于 A&B 的元素 )
a={1,2,3,4}
b={3,4,5,6}
print(a&b)
print(a.intersection(b))
print(b&a)
print(b.intersection(a))
print(a|b)
print(a.union(b))
print(b|a)
print(b.union(a))
print(a-b)
print(a.difference(b))
print(b-a)
print(b.difference(a))
print(a^b)
print(a.symmetric_difference(b))
print(b^a)
print(b.symmetric_difference(a))
输出
{3, 4}
{3, 4}
{3, 4}
{3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2}
{1, 2}
{5, 6}
{5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}
{1, 2, 5, 6}