未加星标

少说话多写代码之Python学习058――标准模块(集合)

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

来看看集合(set)的使用。集合类set在sets模块中,python2.3之后,集合类已经成为语言的一部分,无需再导入sets模块。

先看看简单的使用,

print(set(range(10))) 输出 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

集合中重复值是被忽略的,比如这样,

single=set([1,6,7,8,6,6,6,8]) print(single) 输出 {8, 1, 6, 7}

元素的顺序,不会依照声明时的顺序,

sort = set(['陆小凤','西门吹雪','叶孤城']) print(sort) 输出 {'叶孤城', '西门吹雪', '陆小凤'}

集合可以做一些运算,定义了集合seta和setb,做如下运算,

比如并集

seta=set([10,20,40]) setb=set([30,40,50]) setc = seta.union(setb) print(setc) 输出 {50, 20, 40, 10, 30}

按位与,

print(seta |setb) 输出 {50, 20, 40, 10, 30}

其他一些运算,

setd =seta&setb print(setd.issubset(seta)) 输出:True print(setd <=seta) 输出:True print(setd.issuperset(seta)) 输出:False print(seta.intersection(setb)) 输出:{40} print(seta&setb) 输出:{40} print(seta.difference(setb)) 输出:{10, 20} print(seta-setb) 输出:{10, 20} print(seta.symmetric_difference(setb)) 输出:{10, 50, 20, 30} print(seta^setb) 输出:{10, 50, 20, 30} print(seta.copy()) 输出:{40, 10, 20} print(seta.copy() is seta) 输出:False

集合是可变的,不能作为字典中的键。而集合本身只能包含不可变,所以集合不能包含其他集合,如下这样是错误的,

Traceback (most recent call last): File "D:/work/Python/StandardLibrary4.py", line 40, in <module> print(a.add(b)) TypeError: unhashable type: 'set'

工程文件下载: https://download.csdn.net/download/yysyangyangyangshan/10838713

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

代码区博客精选文章
分页:12
转载请注明
本文标题:少说话多写代码之Python学习058――标准模块(集合)
本站链接:https://www.codesec.net/view/621064.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(182)