集合中存储的数据不能相同(不会有相同的函数)
1.定义集合
(1) 集合是无序的,不能通过索引去获取集合中的元素
set1 = set([1, 1, 1, 1, 2, 3 ,4, 5, 6, 7 ,8, 9, 10]) print(set1) print(list(set1)) #可以利用集合去除列表中重复的元素
(2) 集合中的元素不能重复(set自带去重的功能)
set2 = {'a', 'b', 'c', 'c'} print(set2)
(3) 集合中元素不能是列表和集合,但可以是元祖
set3 = {'a', 'b', 'c', 'c', 10, True, (2, 3)} set4 = set('qwer123') print(set3)
2.基本的操作(增删改查)
(1) add(元素): 在集合中添加一个元素
numbers = {1, 8, 3, 4, 5} numbers.add(6) print(numbers)
(2) 集合1.update(集合2):将集合2中的元素添加到集合1中去, 注意:相同的元素不会添加
numbers = {1, 8, 3, 4, 5} numbers.update({9, 7}) print(numbers)
(3) remove(元素): 移除指定的元素
numbers = {1, 8, 3, 4, 5} numbers.remove(8) print(numbers)
(4) copy():复制集合中的元素,产生一个新的集合
numbers = {1, 8, 3, 4, 5} print(numbers.copy())
3.其他操作
(1) in not in
数据 in 容器类型变量,数据 not in 容器类型变量:判断数据是否在容器类型变量中. 注意:在做移除操作的时候,需要提提前判断移除对象是否在容器变量中 print(0 in numbers) if 0 in numbers: numbers.remove(0) else: print('不在容器里面')
(2) >= <=
集合1 >= 集合2:判断集合1是否包含集合2 集合1 <= 集合2:判断集合2是否包含集合1 numbers_1 = {1, 2, 3, 4, 5} numbers_2 = {1, 2, 3} print(numbers_1 >= numbers_2) print(numbers_1 <= numbers_2)
(3) |:求并集 &:求交集
numbers_1 = {1, 2, 3, 4, 5} numbers_2 = {1, 2, 3, 6, 7, 8} print(numbers_1 | numbers_2) print(numbers_1 & numbers_2)
(4) 集合1-(减)集合2 : 获取集合1中除了集合2以外的元素
numbers_1 = {1, 2, 3, 4, 5, 9, 4} numbers_2 = {1, 2, 3, 6, 7, 8} print(numbers_1 - numbers_2)
(5) ^ :求两个集合的非公共部分
numbers_1 = {1, 2, 3, 4, 5, 9, 4} numbers_2 = {1, 2, 3, 6, 7, 8} print(numbers_1 ^ numbers_2)