什么是集合
列表可以修改,支持重复元素且有序
元组、字符串不可修改,支持重复元素且有序
集合无序,不可重复
定义一个集合
#去重,且无序
#集合无序因此不支持下标访问
#但集合和列表一样,是允许修改的
my_set={"java","shell","shell","mysql","php","golang"}my_set_empty=set()print(f"my_set的内容{my_set},类型是{type(my_set)}")
print(f"my_set_empty的内容{my_set_empty},类型是{type(my_set_empty)}")
添加新元素
my_set.add("python")
my_set.add("python")
print(f"添加后的结果是{my_set}")
移除元素
my_set.remove("java")
print(f"移除后的结果是{my_set}")
随机取出一个元素
element=my_set.pop()
print(f"随机取一个元素{element}")
清空集合
my_set.clear()
print(f"清空集合{my_set}")
取两个集合的差集
set1={1,2,3}
set2={1,5,6}
set3=set1.difference(set2)
print(f"取出差集{set3}")
print(f"{set1}")
消除2个集合的差集
set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(f"消除差集后set1{set1}")
print(f"消除差集后set2{set2}")
合并集合
set1={1,2,3}
set2={1,5,6}
set3=set1.union(set2)
print(f"合并后set3{set3}")
统计集合元素数量
#注意看去重效果
set1={1,2,3,4,5,6,1,2,3,4,5}
num=len(set1)
print(f"{num}个")
集合的遍历
#集合不支持索引,所以不支持while循环,可以用for
for element in set1:print(f"{element}")
my_set的内容{‘java’, ‘golang’, ‘shell’, ‘mysql’, ‘php’},类型是<class ‘set’>
my_set_empty的内容set(),类型是<class ‘set’>
添加后的结果是{‘java’, ‘golang’, ‘shell’, ‘mysql’, ‘php’, ‘python’}
移除后的结果是{‘golang’, ‘shell’, ‘mysql’, ‘php’, ‘python’}
随机取一个元素golang
清空集合set()
取出差集{2, 3}
{1, 2, 3}
消除差集后set1{2, 3}
消除差集后set2{1, 5, 6}
合并后set3{1, 2, 3, 5, 6}
6个
1
2
3
4
5
6