标题集合:set
集合中的元素是无序、唯一、不可变的,因为无序所以不能用索引
可以使用 {} 或者 set() 函数来创建
注:
1.创建一个空集合必须用set(),因为{}是用来创建一个空字典
2.集合中的类型必须是不可变的
可以使用集合来去重:
True、False和1、0重复不能同时出现
lists = [1,2,3,4,5,6,3,4,5,8]
sets = set(lists)
print(sets)#{1, 2, 3, 4, 5, 6, 8}
strs = 'hello'
sets = set(strs)
print(sets)#{'o', 'e', 'h', 'l'}
sets = set({'name':'zs','age':21,})
print(sets)#{'name', 'age'}
添加:
add:一次添加一个
update:可以添加多个使用{}
sets = {13,22,3,4,8,12}
sets.add(5)
print(sets)#{3, 4, 8, 12, 13, 22}
sets = {'哈哈','嘻嘻','嘿嘿'}
sets.update({'呵呵','哈哈'})
print(sets)#{'呵呵', '哈哈', '嘻嘻', '嘿嘿'}
删除:
pop:随机删除一个:sets.pop()
remove:删除指定元素:sets.remove('hello')
clear:删除所有元素:sets.clear()
del:直接删除集合:del sets
discard:如果元素存在删除,如果不存在什么也不做
遍历:只能用for循环遍历
数学运算:
交集:&:取公共部分
并集:|:返回去重后的内容
差集:-:取set1或set2中去除公共部分的内容
反交集:^:取去掉公共部分剩余非公共部分的内容
子集:<:返回True或False
超集:>:返回True或False
给定两个列表,怎么找出他们相同的元素和不同的元素?
list1 = [1,2,3]
list2 = [3,4,5]
set1 = set(list1)
set2 = set(list2)
print(set1 & set2)
print(set1 ^ set2)