Python 集合 set的使用

文章介绍了Python中集合的创建、特点,以及如何通过集合进行数据去重。集合是无序且不重复的数据结构,可以通过.add()、.update()方法添加元素,.discard()、.remove()、.pop()方法删除元素,并使用in和notin判断元素是否存在。文章还提供了列表去重和集合判断元素存在的示例。
摘要由CSDN通过智能技术生成

集合 set

一、集合的创建与特点

创建集合使用{xxx} 或 set(), 但是创建空集合只能使用 set(), 空大括号{} 用来创建空的字典。

集合和列表区别:

  • 集合可以去掉重复数据,即只存放不同的元素
  • 集合中的元素是无序的,故不支持下标访问
  • 创建方式不同,列表是用中括号表示,非空集合使用大括号表示。
    有点类似java中的set,无序,不重复。
# 非空集合
set1 = {10, 12, 13, 16} 
print(set1) # {16, 10, 12, 13}
set2 = set('hello') # {'h', 'l', 'e', 'o'}
print(set2)
# 空集合
set3 = set()
print(type(set3)) # <class 'set'>
set4 = {}
print(type(set4)) # <class 'dict'>

字符串在python中很多时候都是以序列形式存在,所以很多时候通过字符串创建的对象都是每个字符的列表或集合;

二、集合的常见操作

1. 增加数据

集合对象.add(元素)

集合对象.update(序列)

set1 = {12, 15, 17, 18}
set1.add(20)
print(set1) # {12, 15, 17, 18, 20}
set1.update([100, 200])
set1.update('abc') 
print(set1) #{100, 200, 12, 15, 17, 18, 20, 'b', 'c', 'a'}

如果新增的元素之前集合存在,则会忽略掉

2. 删除数据

集合对象.discard(元素) 删除集合元素中指定数据,不会报错(优先)

集合对象.remove(元素) 删除集合元素中指定数据,不存在则报错。

集合对象.pop(),随机删除集合中某个元素,并返回这个数据。

set1 = {12, 15, 17, 18}
set1.remove(15)
print(set1) # {17, 18, 12}
# set1.remove(15) # 报错 KeyError: 15
set1.discard(17)
print(set1) # {18, 12}
num = set1.pop() 
print(num) # 18
print(set1) # {12}

3. 判断数据是否在集合中

  • 元素 in 集合

  • 元素 not in 集合

返回 bool 类型

set1 = {12, 15, 17, 18}
print(12 in set1) # True
print(212 in set1) # False

练习:

已知⼀列表a_list= [1,1,2,2,3,3,3,5,7,8]完成下列需求:
1.对列表数据进⾏去重,存到集合a_set当中
2.判断1是否在a_set中,如果存在,打印’你好,1’,不存在,则不做处理

a_list = [1, 1, 2, 2, 3, 3, 3, 5, 7, 8]
a_set = set(a_list)
if 1 in a_set:
    print('你好,1')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值