集合:是一个无序的不重复的序列
集合支持所有不可变的类型
创建集合:
set()
set([1,2,3])
{1,2,3}
1、add函数
添加集合中的元素,如果已经存在,不允许再添加
例子中,集合不允许有重复数据,并且是无序的
例子:
username = ['zhao','zhang','wang','zhao', 'li']
test_set = set()
test_set.add(username[0])
test_set.add(username[1])
test_set.add(username[2])
test_set.add(username[-1])
test_set.add(username[-2])
print(test_set)
结果:
{'zhang', 'li', 'zhao', 'wang'}
2、update函数
可批量添加到集合中元素
例子:
username = ['zhao','zhang','wang','zhao', 'li']
tuple1 = ('a','b','c')
test_set = set()
# 放入列表
test_set.update(username)
# 放入元组
test_set.update(tuple1)
# 放入字符串
test_set.update('python')
print(test_set)
结果:
{'wang', 'n', 'c', 'zhang', 'y', 't', 'li', 'o', 'b', 'zhao', 'p', 'h', 'a'}
3、remove函数 clear函数
remove 按名称移出元素
clear 清空集合
例子:
username = ['zhao','zhang','wang','zhao', 'li']
test_set = set()
test_set.update(username)
print(test_set)
# 移出元素wang
test_set.remove('wang')
print(test_set)
#清空集合
test_set.clear()
print(test_set)
结果:
{'zhang', 'li', 'wang', 'zhao'}
{'zhang', 'li', 'zhao'}
set()
4、difference 函数
set1.difference(set2) 集合set1与集合set2的差集,去掉set2中相同的
可以使用多个集合进行差集
例子:
list1 = [1,2,3,4,5]
list2= [2,3,4,6,7]
list3 = [5,9]
set1 = set(list1)
set2 =set(list2)
set3= set(list3)
set4= set1.difference(set2,set3)
print(set4)
结果:
{1}
5、intersection 函数
set1.intersection(set2) 集合set1与集合set2的交集,与set2中相同的
可以使用多个集合进行交集
例子:
list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [5,9,10]
set1 = set(list1)
set2 =set(list2)
set3= set(list3)
set4= set1.intersection(set2,set3)
print(set4)
结果:
{5}
6、union函数
set1.union(set2) 集合set1与集合set2的并集,合并set2中的元素
可以使用多个集合进行并集
例子:
list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [5,9,10]
set1 = set(list1)
set2 =set(list2)
set3= set(list3)
set4= set1.union(set2,set3)
print(set4)
结果:
{1, 2, 3, 4, 5, 6, 7, 9, 10}
7、isdisjoint 函数
判断两个集合中,是否有相同的元素,如果没有为True,如果有为Flase
例子:
list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [10,11,12]
set1 = set(list1)
set2 =set(list2)
set3 =set(list3)
# list1 与 list2 有相同元素为False
set4= set1.isdisjoint(set2)
# list1 与 list3 无相同元素为True
set5= set1.isdisjoint(set3)
print(set4)
print(set5)
结果:
False
True