"""
(1)定义集合字面量
{元素, 元素, 元素, ..., 元素}
(2)定义集合变量
变量名称 = {元素, 元素, 元素, ..., 元素}
(3) 定义空集合
变量名称 = set()
"""
# 不能重复,内容是无序的
my_set = {1, 2, 3, 4, 1}
my_set1 = set()
print(my_set) # 可以去重,
print(my_set1)
print("--------------------")
集合是无序的,不支持下标索引访问
my_set = {1, 2, 3, 4}
my_set.add("xx")
my_set.add(1) # 集合内已经有 1了,所以不能添加进去
print(my_set) # {1, 2, 3, 4, 'xx'}
print("---------------------")
my_set = {1, 2, 3, 4}
my_set.remove(3)
print(my_set) # {1, 2, 4}
print("---------------------")
my_set = {1, 2, 3, 4}
element = my_set.pop()
print(f"集合被取出的元素是{element}, 取出元素后的集合为{my_set}") # 集合被取出的元素是1, 取出元素后的集合为{2, 3, 4}
print("---------------------")
my_set = {1, 2, 3, 4, 6, 7}
my_set.clear()
print(my_set) # set()
print("----------------------")
# 语法:集合1.difference(集合2),
# 功能:取出集合1和集合2的差集(集合1有而集合2没有的)
# 结果:得到一个新集合,集合1 和 集合2不变
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.difference(set2)
print(set3) # {2, 3}
print(set1) # {1, 2, 3}
print(set2) # {1, 5, 6}
print("-----------------------")
# 语法:集合1.difference_update(集合2),
# 功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素
# 结果:集合1被修改,集合2不变
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set1.difference_update(set2)
print(set1) # {2, 3}
print(set2) # {1, 5, 6}
print("-----------------------")
# 语法:集合1.union(集合2),
# 功能:将集合1和集合2组成新集合
# 结果:得到新集合,集合1和集合2不变
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2)
print(set3) # {1, 2, 3, 5, 6}
print(set1) # {1, 2, 3}
print(set2) # {1, 5, 6}
print("-----------------------")
set1 = {1, 2, 3, 4}
num = len(set1)
print(num) # 4
print("------------------------")
# 因为集合不支持下标索引,只能通过for循环
set1 = {1, 2, 3, 4}
for element in set1:
print(element)
print("-------------------------")