set 是集合类。这个类很特别,它是唯一坚决追求“特立独行”的数据类型。在这里,你没办法找到两个一样的值,即使强硬赋予,它也会强硬剔除,也就是去重,一个非常实用的技能,这也是 set 类存在的最大意义。
set 类还是无序的,不像列表和元组那般可以下标指定,同时,set 类的元素需要是不可变类型,就和字典的键一样。
我们发现,两个0不见了一个,确实去重了,而且输出结果是无序的。但还有一个问题:False 怎么也不见了?它去哪了?
之前讲过,True1,Flase0,在set类中也是如此。当集合里的元素同时存在1和True时会去重;同时存在0和False时也会去重。例如:
由于 set 类与dict 类一样也使用大括号作为标识符,所以当我们创建一个空集合时必须用 set()而不是{},因为{}用于创建一个空字典。
update()的参数必须为元组类型,否则会变成一个个字母。
这里还有必要强调一下 set 的关系运算—交、并、差、补。
假设现在某地出现了严重流感,政府需要统计接触过流感患者的人(contacted_test)和去过流感重灾区的人(visited_test)的各种组合数据:
我们发现,多元组相加去重之后,也能实现并集的功能,例如:
输出结果