一、集合set 概念
1.集合set是一组无序不可重复的key集合
2.set跟dict的key类似,区别在于set没有value
3.set使用场景
1)判断某个元素是否在集合中
2)消除输入数据的重复元素
二、set 的创建方式
1.创建一个空集合:s = set()
2.创建一个初始化集合方法1:s = {1,2,3}
3.创建一个初始化集合方法1:s = ([1,2,3])
注:这里的参数可以是list、tuple、dict
set的key只能是数字、字符串、元组等不可变对象
三、set支持的方法
1.统计集合元素个数:len(set)
2.集合的遍历:for i in set
3.新增key,若重复会自动去重:set.add(key)
4.删除一个key:set.remove(key)
5.清空集合:set.clear()
6.判断元素是否在集合中:i in set
7.求两个集合的交集:s1 & s2 或 s1.intersection(s2)
8.求两个集合的并集:s1 | s2 或 s1.union(s2)
9.求两个集合的差集:s1 - s2 或 s1.difference(s2)
10.将s2的所有key更新到s1,去除重复:s1.update(s2)
11.集合推导式:s = {i for i in "abcd" if i not in "bc"}
练习:
#set去重 统计参加考试的学生
data = set()
with open("input.txt",encoding="utf-8") as fin:
for line in fin:
line = line.strip()
filds = line.split("\t")
name = filds[0]
data.add(name)
for name in data:
print(name)
总结: