博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set()集合的概念与一般操作
阅读量:4656 次
发布时间:2019-06-09

本文共 1294 字,大约阅读时间需要 4 分钟。

1.概念

set集合是python的一种基本数据类型,其特点为:

1.元素不重复(可以利用这条性质除去重复元素)

2.在集合中无序

3.元素可hash(int,str,bool,tuple)

set集合的表示方法为:

set ={}

2.一般操作

1.增加

set.add() #把被添加数据添加到集合的开头

set.update() #把元素迭代无序添加到集合中

2.删除

pop()

remove()

clear()

del set

这里注意pop()不能指定变量否则会报错

3.修改

由于set集合中的元素没有索引,因此没法定位set中的元素,因此set集合中的修改只能先删除 再添加

4.查询

set是一个可迭代对象,可以使用for循环查询

for el in s:

print(el)

5.其他操作

s1 = {"刘能", "赵四", "皮长山"}

s2 = {"刘科长", "冯乡长", "皮长山"}

1.交集 s1 & s2

print(s1 & s2) # {"皮长山"}

或者

print(s1.intersection(s2)) # {"皮长山"}

2.并集 s1 | s2 (无序)

print(s1 | s2) # {"刘能", "赵四", "皮长山","刘科长", "冯乡长"}

或者

print(s1.union(s2)) # {"刘能", "赵四", "皮长山","刘科长", "冯乡长"}

3.差集 s1 - s2

#将被差集合中存在于差集合的元素删除,即s1删除s1与s2的交集

print(s1 - s2) # {'赵四', '刘能'}

或者

print(s1.difference(s2)) # {'赵四', '刘能'}

4.反交集 s1 ^ s2

# 删除两个集合的交集然后s1与s2并集

print(s1 ^ s2) # {'冯乡长', '刘能', '刘科长', '赵四'}

或者

print(s1.symmetric_difference(s2)) # {'冯乡长', '刘能', '刘科长', '赵四'}

5.子集 s1 < s2

#判断集合s1是否是集合s2的子集

s1 = {"刘能", "赵四"}

s2 = {"刘能", "赵四", "皮长山"}

print(s1 < s2) # True

或者

print(s1.issubset(s2)) # True

6.超集 s1 > s2

#判断s1是否是s2的超集(是否包含s2)

print(s1 > s2) #False

或者

print(s1.issuperset(s2)) #False

7.使set集合变成一个可hash的

s = frozenset(["赵本山", "刘能", "皮长山", "长跪"])

dic = {s:'123'} # 可以正常使用了

print(dic) #{ frozenset(["赵本山", "刘能", "皮长山", "长跪"]) : '123'}

转载于:https://www.cnblogs.com/zy740/p/11005662.html

你可能感兴趣的文章
2017.10.21 Java中的数据源与连接池技术
查看>>
2018.5.8 XML编程
查看>>
2018.12.29 111
查看>>
2013年MBA、MPA、MPAcc入学考试英语辅导教材
查看>>
JavaScript高级程序设计:第2版(china-pub首发)
查看>>
HDU1512 ZOJ2334 Monkey King 左偏树
查看>>
BZOJ1823 [JSOI2010]满汉全席 2-sat
查看>>
Codeforces 1053C Putting Boxes Together 树状数组
查看>>
算法思维方式之二——DP与DFS
查看>>
网页版分享功能
查看>>
查找算法之二分查找法
查看>>
创建界面视图的流程
查看>>
微信公众平台体验(二)JS-SDK
查看>>
[Leetcode] Linked List Cycle
查看>>
第十九节(异常的基本概念, 异常的分类, 异常的捕获和处理,自定义异常,方法覆盖与异常)...
查看>>
齐头并进
查看>>
HTMLTestRunner修改成Python3版本
查看>>
数据结构之栈
查看>>
div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法[ZT]
查看>>
Redis的Sentinel
查看>>