1. 可以容纳多个数据
2. 可以容纳不同类型的数据
3.数据是无序存储的(不支持下标索引)
4. 不允许重复数据存在
5. 可以修改
6. 支持for循环,不支持while循环
# 定义集合
变量 = {元素1, 元素2, 元素3, 元素4...}
# 定义空集合
变量 = set()
例子:
my_set = {"语文", "数学", "英语", "历史", "地理", "语文", "数学"}
my_set_empty = set()
print(type(my_set), my_set) # {'语文', '英语', '历史', '地理', '数学'}
print(type(my_set_empty), my_set_empty) # set()
# 添加新元素
语法:集合.add(元素)---集合本身被修改,添加了新元素
例子:
my_set.add("Python")
my_set.add("语文")
print(my_set) # 自动去重 {'Python', '英语', '数学', '历史', '语文', '地理'}
# 删除元素
语法:集合.remove(元素)----集合本身被修改,移除了元素
# 从集合中随机取出元素 ---会得到一个元素的结果,同时集合本身被修改,元素被移除
语法:集合.pop()
例子:
my_set = {'Python', '英语', '数学', '历史', '语文', '地理'}
my_set.remove("语文")
print(my_set) # {'历史', '数学', 'Python', '地理', '英语'}
my_set = {'Python', '英语', '数学', '历史', '语文', '地理', '英语'}
element = my_set.pop()
print(element) # 数学 --- 随机的
print(my_set) # {'地理', 'Python', '英语', '语文', '历史'}
# 清空集合
语法:集合.clear()
例子:
my_set = {'Python', '英语', '数学', '历史', '语文', '地理', '英语'}
my_set.clear()
print(my_set) # set()
# 取出两个集合的差集
语法:集合1.difference(集合2) --- 取出集合1和集合2的差集 (集合1有而集合2没有的)
结果:得到一个新集合,集合1和集合2不变
例子:
set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set = set1.difference(set2)
print(set) # {8, 1, 7}
# 消除两个集合的差集
语法:集合1.difference_update(集合2) --- 在集合1内,删除和集合2相同的元素
结果:集合1被修改,集合2不变
例子:
set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set1.difference_update(set2)
print(set1) # {1, 7, 8}
print(set2) # {2, 3, 4, 5, 6}
语法:集合1.union(集合2) --- 将集合1和集合2组合成新集合
结果:得到新集合,集合1和集合2不变
例子:
set1 = {1, 2, 3, 7, 8}
set2 = {2, 3, 4, 5, 6}
set = set1.union(set2)
print(set) # {1, 2, 3, 4, 5, 6, 7, 8}
# 统计集合元素数量
语法:len(集合)
例子:
set1 = {1, 2, 3, 7, 8, 1, 2, 3, 7, 8}
print(len(set1)) # 5
注意:集合不支持下标索引,不能用while循环,可以用for循环
例子:
set1 = {1, 2, 3, 7, 8, 1, 2, 3, 7, 8}
for i in set1:
print(i)