set(集合):无序的不重复的元素数据类型,用{ }
和列表区分:列表是可以存储多个同一或者不同元素的序列,用[ ]
和字典区别:set_1 = {}是创建字典,而不是集合
set_1 = {}
print(set_1)
print(type(set_1))
{}
<class 'dict'>
#创建集合
set_2 = set()
print(set_2)
print(type(set_2))
set()
<class 'set'>
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
print(set_1)
print(type(set_1))
{'烧饼', '烧鸭', '烧鸡', '烧鹅', '烧猪蹄'}
<class 'set'>
#增
1.add()向集合中添加单个元素
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
set_1.add('烧水')
print(set_1)
{'烧水', '烧鹅', '烧鸡', '烧猪蹄', '烧鸭', '烧饼'}
2.update()向集合中添加多个元素,不限元素类型
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
new_set = {1,2,3,'烧水','烧乳鸽'}
set_1.update(new_set)
print(set_1)
new_list = ['a','b','c']
set_1.update(new_list)
print(set_1)
{'烧鸡', 1, 2, 3, '烧水', '烧猪蹄', '烧鹅', '烧鸭', '烧饼', '烧乳鸽'}
{'烧鸡', 1, 2, 3, '烧水', '烧猪蹄', '烧鹅', 'a', '烧鸭', 'c', '烧饼', 'b', '烧乳鸽'}
#删
1.remove(),删除指定元素,删除不存在的值就会报错
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
print(set_1)
set_1.remove('烧鸭')
print(set_1)
set_1.remove('烧鸭')
print(set_1)
{'烧鸡', '烧鸭', '烧鹅', '烧饼', '烧猪蹄'}
{'烧鸡', '烧鹅', '烧饼', '烧猪蹄'}
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/practice/practice.py", line 303, in <module>
set_1.remove('烧鸭')
KeyError: '烧鸭'
2.discard()删除指定元素,删除不存在的值不会报错
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
print(set_1)
set_1.discard('烧鸭')
print(set_1)
set_1.discard('烧鸭')
print(set_1)
{'烧猪蹄', '烧鸭', '烧鹅', '烧饼', '烧鸡'}
{'烧猪蹄', '烧鹅', '烧饼', '烧鸡'}
{'烧猪蹄', '烧鹅', '烧饼', '烧鸡'}
3.pop()随机删除,因为集合是无序的
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
print(set_1)
set_1.pop()
print(set_1)
{'烧饼', '烧鸭', '烧鹅', '烧鸡', '烧猪蹄'}
{'烧鸭', '烧鹅', '烧鸡', '烧猪蹄'}
4.clear()清空集合内容
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
set_1.clear()
print(set_1)
set()
#in not in
set_1 = {'烧鸭','烧鸡','烧鹅','烧猪蹄','烧饼'}
print('烧鸭' in set_1)
print('烧鸭' not in set_1)
True
False