python中set的用处
2024-10-14 15:18:40
python中有很多不同的数据结构,比如list,tuple,set,dic等,为什么我要单独讲set呢。
因为set是一个比较容易被遗忘的数据结构,不光在python中,在C++中也一样,反正我是很少用set。但是用了之后发现set其实很强大的。下面就介绍一下set比较牛逼的几个用处:
找出两个列表中相同的数据
第一反应就是遍历一个列表,拿到所有数据然后再判断在不在第二个列表里。代码如下:
def main():
list1=[1,2,3,4,5]
list2=[3,4,5,6,7]
list3=[]
for each in list1:
if each in list2:
list3.append(each) print list3 if __name__ == '__main__':
main()
如果用set的话,用intersetion()很容易就搞定了,它可以得到两个set的交集
def main():
list1=[1,2,3,4,5]
list2=[3,4,5,6,7]
s1,s2=set(list1),set(list2)
list3=list(s1.intersection(s2))
print list3 if __name__ == '__main__':
main()
同样的方法还有:
s1.union(s2),用来得到两个set的并集。即两个list里所有元素的合集。
s1.difference(s2), 用来得到两个set的差集。即在s1中存在,但在s2中不存在的集合。
s1.symmetric_difference(s2), 它相当于s1.union(s2)-s1.intersection(s2)。即s1和s2中不重复的元素的合集。
最新文章
- 重写toString()方法来描述一个类
- 使用 itext、flying-saucer 实现html转PDF(转)
- 和ef一起使用的一些知识点。
- 11.7---叠罗汉表演节目(CC150)
- java端口扫描(原创)
- 烂泥:NFS存储与VSphere配合使用
- ACM对时间掌控力和日积月累的习惯的意义
- DotNetBar v12.4.0.2 Fully Cracked
- TextView字符串波浪式跳动--第三方开源---JumpingBeans
- JavaScript学习笔记(12)——JavaScript内置对象
- 遍历INI文件和删除指定域内容
- 动态规划---最长上升子序列问题(O(nlogn),O(n^2))
- js词法作用域
- checkSelfPermission 找不到 Android 动态权限问题
- python DNN
- POJ 1321 棋盘问题(搜索的方式)
- PHP安装Commposer
- 【ElasticSearch】:Mapping相关
- 【转】linux下各文件夹的结构说明及用途介绍
- 绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程