每天努力一点点,坚持下去 ------ 博客首页

Python之集合

一、概念:

集合特点:(1)集合天生去重;   (2)集合是无序的,不能使用下标取值.

定义一个空的集合:

s = set()

集合是一种数据类型(和int  float list str dict tuple boolean一样),类似于列表,特点:

(1)是无序的,不可以通过下标取值,可以循环,但不能排序,如果想要排序,可以转成列表

l=list(res)

(2)天生去重,就是说集合中是没有重复的数据

l=[1,1,2,2,3,3]
res=set(l)
print(res) #结果为:{1,2,3}

集合的作用:

1、它可以把一个列表中重复的数据去掉,而不需要你再写判断

2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合

定义集合:

list = [2,3,1,2,3,4]
        s_list = set(list)#这样就定义了一个集合
        set1 = set([1,3,4,5,6])#这种方式和上面的都是把list转换成一个集合
        set2={'hehe','hehe1','hehe3'}#这种方式是直接定义一个集合

二、取集合的方式

xingneng=['baibai','heihei','杨洋','小黑']
zidonghua=['baibai','小刘','heihei','小黑','大王']

#类型转换,列表转成集合:
print(xingneng=set(xingneng))
print(zidonghua=set(zidonghua))

1、取交集

即:取两个集合相同的元素

方式一:     .intersection()方法;

方式二:      一个 & 符。

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
res = s1.intersection(s2)  # 取交集  方式一
res = s1 & s2  # 取交集  方式二
print(res)

2、取并集

即:把两个集合合并到一起,去掉重复的。

方式一:  .symmetric_difference()方法;

方式二:   一个 ^ 符或是一个 | 。

res = s1.symmetric_difference(s2)  # 取对称差集的方式一
res = s1^s2            # 取对称差集的方式二

3、取差集

即:其中一个集合存在,另外一个集合没有

方法: -

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}

print(s1-s2)

结果:{1, 2, 3}

三、集合的判断方式

  •  子集与父集

import string #导入字符串模块
l1=set(string.ascii_lowercase) #取所有小写字母,并存成集合
l2={'a','b','c'}

可以看到,l2是l1的子集,l1是l2的父集。

1、判断A是否是B的子集

使用A.issubset(B)方法:

print(l2.issubset(l1) #结果:True

2、判断A是否是B的子集

使用A.issuperset(B)方法:

print(l1.issuperset(l2) #结果为True

3、判断A与B是否无交集

使用.isdisjoint()方法:

print(l1.isdisjoint(l2) #结果:False

四、集合的使用方式

1、集合中加元素

使用.add()方法:

l2.add('s')

2、集合中删除指定元素

使用.remove()方法:

l2.remove('a')

3、集合中随机删除元素

使用.pop()方法:

l2.pop()

4、把另外的集合加入这个集合里面

使用.updata() 

l2.updata({4,5,6}) 

5、循环

集合也可以循环:

for l in l1:
    print(l)
posted @   他还在坚持嘛  阅读(682)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示