python数据容器--集合

发布于:2024-03-23 ⋅ 阅读:(62) ⋅ 点赞:(0)

什么是集合

列表可以修改,支持重复元素且有序
元组、字符串不可修改,支持重复元素且有序
集合无序,不可重复

定义一个集合

#去重,且无序
#集合无序因此不支持下标访问
#但集合和列表一样,是允许修改的

my_set={"java","shell","shell","mysql","php","golang"}

my_set_empty=set()

print(f"my_set的内容{my_set},类型是{type(my_set)}")
print(f"my_set_empty的内容{my_set_empty},类型是{type(my_set_empty)}")

添加新元素

my_set.add("python")
my_set.add("python")
print(f"添加后的结果是{my_set}")

移除元素

my_set.remove("java")
print(f"移除后的结果是{my_set}")

随机取出一个元素

element=my_set.pop()
print(f"随机取一个元素{element}")

清空集合

my_set.clear()
print(f"清空集合{my_set}")

取两个集合的差集

set1={1,2,3}
set2={1,5,6}
set3=set1.difference(set2)
print(f"取出差集{set3}")
print(f"{set1}")

消除2个集合的差集

set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(f"消除差集后set1{set1}")
print(f"消除差集后set2{set2}")

合并集合

set1={1,2,3}
set2={1,5,6}
set3=set1.union(set2)
print(f"合并后set3{set3}")

统计集合元素数量

#注意看去重效果

set1={1,2,3,4,5,6,1,2,3,4,5}
num=len(set1)
print(f"{num}个")

集合的遍历

#集合不支持索引,所以不支持while循环,可以用for

for element in set1:
    print(f"{element}")

my_set的内容{‘java’, ‘golang’, ‘shell’, ‘mysql’, ‘php’},类型是<class ‘set’>
my_set_empty的内容set(),类型是<class ‘set’>
添加后的结果是{‘java’, ‘golang’, ‘shell’, ‘mysql’, ‘php’, ‘python’}
移除后的结果是{‘golang’, ‘shell’, ‘mysql’, ‘php’, ‘python’}
随机取一个元素golang
清空集合set()
取出差集{2, 3}
{1, 2, 3}
消除差集后set1{2, 3}
消除差集后set2{1, 5, 6}
合并后set3{1, 2, 3, 5, 6}
6个
1
2
3
4
5
6

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到