set获取元素_Python之集合(set)操作

集合(set)是一个无序不重复元素的序列,基本功能是进行成员关系测试和删除重复元素;可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

#一、集合的定义
#方式1
# a = {} #定义的是空字典
# print(type(a))
<class 'dict'>

# a = {1,3,4}
# print(type(a))
<class 'set'>

#方式2
# a = set() #定义空集合
# print(type(a))
<class 'set'>
# a = set("zhang")
# print(a)
# print(type(a))
{'a', 'n', 'z', 'g', 'h'}
<class 'set'>

#二、集合的特点
#1,去重
# a = {1,2,3,5,3,4,6,6,7}
# print(a)
{1, 2, 3, 4, 5, 6, 7}

#2,身份测试
# a = {1,2,3,5,3,4,6,6,7}
# if 1 in a:
#     print("T")
# else:
#     print("F")
T


#三、集合运算
#方式1
# a = {1,2,3,4,5,6}
# b = {3,4,5,6}
# print(a & b) #交集(取相同元素)
# print(a | b) #并集(取所有元素并去重)
# print(a - b) #补集(把b里面存在的元素从a里面删除)
# print(a ^ b) #对称补集(把a,b不重复的元素合并在一起)
# print(a > b) #超集(a全包含b的话,打印T,反之打印F)
# print(a < b) #子集(a被b全包含的话,打印T,反之打印F)
# print(a == b) #判断元素是否相等,等于就打印T,反之打印F
# print(a != b) #判断元素是否不全相等,不等打印T,反之打印F

#方式2
# a = {1,2,3,4}
# b = {3,4,5,6}
# print(a.union(b)) #并集
# print(a.intersection(b)) #交集
# print(a.difference(b)) #补集
# print(a.symmetric_difference(b)) #对称补集
# print(a.issuperset(b)) #超集
# print(a.issubset(b)) #子集
# 四、集合的增删改查
#查(因为集合是无序的,所以不能通过索引查找)
# a = {1,2,3,4}
# print(type(a),id(a))
# print(a)

#增
#方式1
# a = {1,2,3,4}
# a.update("zhang") #可哈希 或 不可哈希 元素都能添加。如果元素已存在,会被忽略。他的工作原理是,将可迭代对象进行遍历后的元素添加到集合中
# print(a)
{1, 2, 3, 4, 'n', 'g', 'h', 'z', 'a'}

#方式2
# a = {1,2,3,4}
# a.add(5) #只能添加可哈希元素,不能添加字典、列表、集合等不可哈希元素。如果元素已存在,会被忽略。
# print(a)
{1, 2, 3, 4, 5}

#改
# a = {1,2,3,4}
# print(id(a))
# a = {2,3}
# print(a)
# print(id(a))

#删
#方式1
# a = {"zhang",5,1,"xiao",0,2,3,4}
# a.pop() #随机删除一个元素
# print(a)
{1, 2, 3, 4, 5, 'xiao', 'zhang'}

#方式2
# a = {"zhang",5,1,"xiao",0,2,3,4}
# a.remove("xiao") #指定元素删除
# print(a)
{0, 1, 2, 3, 4, 5, 'zhang'}


#方式3
# a = {"zhang",5,1,"xiao",0,2,3,4}
# a.clear() #清空
# print(a)
set()

#方式4
# a = {"zhang",5,1,"xiao",0,2,3,4}
# a.discard(3) #指定元素删除
# print(a)
{0, 1, 2, 4, 'xiao', 5, 'zhang'}

【重要消息】感谢知友您能够看到这部分内容,本文是软件测试系列知识中python脚本语言中的一篇,笔者认为本部分全面的知识应该包含如下图所示的内容:

2880403b785401955d54e951b89d4b7c.png

如果知友对这部分内容感兴趣,可以持续关注小编的账号,除此之外,小编还录制了不少这方面的技术视频,知友如果有需要,可以私聊本小编获取哦 !

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值