Python---集合set

集合特点

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}

2个集合合并

语法:集合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)

你可能感兴趣的:(python)