集合 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
练习:文章来源:https://www.toymoban.com/news/detail-524113.html
已知⼀列表a_list= [1,1,2,2,3,3,3,5,7,8]完成下列需求:
1.对列表数据进⾏去重,存到集合a_set当中
2.判断1是否在a_set中,如果存在,打印’你好,1’,不存在,则不做处理文章来源地址https://www.toymoban.com/news/detail-524113.html
a_list = [1, 1, 2, 2, 3, 3, 3, 5, 7, 8]
a_set = set(a_list)
if 1 in a_set:
print('你好,1')
到了这里,关于Python 集合 set的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!