python 集合

本文详细介绍了Python中集合的基本概念及使用方法,包括集合的特点、创建方式、如何进行增删改查操作,以及集合间的关系运算等内容。适用于初学者快速掌握集合的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义

几个类似于列表,也是可以存一堆数据

1.里面的元素不可变,代表你不能存一个list、dict 在集合里,字符串、数字、元组等不可变类型可以存

2.天生去重,在集合里没办法存重复的元素

3.无序,不像列表一样通过索引来标记在列表中的位置 ,元素是无序的,集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合

主要用作去重,关系运算

语法

创建集合

>>> a = {1,2,3,4,2,'alex',3,'rain','alex'}
>>> a
{1, 2, 3, 4, 'rain', 'alex'}

1.给列表去重

给列表去重最快的方法,就是把它转成集合,去重完,再转回列表

>>> b  = [1, 2, 3, 'nis',3,'chaopeng', 'chaoyang']
>>> set(b)
{1, 2, 3, 'nis', 'chaopeng', 'chaoyang'}
>>> list(set(b))
[1, 2, 3, 'nis', 'chaopeng', 'chaoyang']
>>> b = list(set(b))
>>> b
[1, 2, 3, 'nis', 'chaopeng', 'chaoyang']

2.增删改查

2.1 增

>>> a = {1, 2, 3, 4, 'nis', 'rain'}
>>> a.add("朝阳")
>>> a
{1, 2, 3, 4, 'nis', 'rain', '朝阳'}

2.2 删

discardd   #删除存在值

>>> a
{1, 2, 3, 4, 'nis', 'rain', '朝阳'}         
>>> a.discard("rain")   #删除
>>> a
{1, 2, 3, 4, 'nis', '朝阳'}
>>> a.discard("rains")   #删除不存在的值,不返回
>>> a
{1, 2, 3, 4, 'nis', '朝阳'}

pop #随机删除

>>> a.pop()
1
>>> a.pop()
2

remove   #删除

>>> a.remove(4)
>>> a
{3, 'nis', '朝阳'}

>>> a
{3, 'nis', '朝阳'}
>>> 'nis' in a
True

3. 关系运算

>>> a = {"佩奇","老","海峰","马JJ","老村长","黑","Alex"}
>>> b = {"Alex","Egon","Rain","马JJ","Nick","Jack"}
>>> a & b   #交集
{'马JJ', 'Alex'}
>>> a | b  #并集
{'Rain', '佩奇', '老', 'Alex', 'Egon', 'Nick', '马JJ', 'Jack', '海峰', '老村长', '黑'}
>>> a - b  # a和b的差集
{'佩奇', '老', '海峰', '老村长', '黑'}
>>> b - a   #b和a的差集
{'Rain', 'Egon', 'Jack', 'Nick'}
>>> a ^ b   #对称差集 取出两个集合中都有的
{'Rain', 'Nick', 'Jack', '黑', '佩奇', '老', 'Egon', '海峰', '老村长'}

两个集合之间一般有(相交,包含,不相交)

>>> a.isdisjoint(b)   #判断2个集合是不是相交
False 
>>> a.issubset(b)      #判断a是不是b的子集
False
>>> a.issuperset(b)     #判断a是不是b的父集
False

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值