Python基础入门-集合
2018-02-16 20:32
369 查看
今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合。在python中集合(set)是由一个个键组成的,但是这些键没有对应的值。大家在学习集合的时候可以和多和字典对比着来看。集合的使用在python3中较为明显,那么,接下来一一给大家演示关于集合的基本使用:
定义集合
1.首先我们定义一个集合(set)
C:\Users\Model>python3 Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> >>> >>> a = set([1,2,3,4,5]) >>> a {1, 2, 3, 4, 5}
向集合中添加元素
2.我们往集合中添加一个集合中已有的元素,看看是什么情况,我们这里使用的是add方法,看演示:
>>> a = set([1,2,3,4,5]) >>> a {1, 2, 3, 4, 5} >>> a.add(1) #添加一个重复的键 >>> a {1, 2, 3, 4, 5} >>>
由此总结出,集合中的键是唯一的,也是不允许有重复键的。
向集合中新增不可变对象
3.如果我们向集合中新增的元素是一个可变对象呢?结果又会发生什么样的变化呢?
>>> a = set([1,2,3,4,5]) >>> a {1, 2, 3, 4, 5} >>> a.add(1) >>> a {1, 2, 3, 4, 5} >>> >>> a.add(['ac','bc']) #向集合中新增可变对象列表 报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list' #不能够被哈希 >>>
取交集和并集
4.我们可以通过set集合来取交集和并集。先看一个取交集的例子。
>>> set1=set([1,2,3,4,5]) >>> set1 {1, 2, 3, 4, 5} >>> set2=set([1,2,3,4,5,'hello',999]) >>> set1 & set2 {1, 2, 3, 4, 5}
我们定义了一个set1和set2使用 & 符合进行取交集的操作。取得是set1和set2公共的部分(1,2,3,4,5),我们在继续取集合(set)中的并集,来看一个例子:
>>> set1=set([1,2,3,4,5]) >>> set1 {1, 2, 3, 4, 5} >>> set2=set([1,2,3,4,5,'hello',999]) >>> set1 & set2 {1, 2, 3, 4, 5} >>> set1 | set2 {1, 2, 3, 4, 5, 999, 'hello'} >>>
还是拿set1和set2的例子举例。取并集使用的链接符合是 | 可以看到最后的结果是:(1,2,3,4,5,999,'hello') 是不是很好理解呢?
移除集合中的元素
5.我们使用remove方法移除集合中的某个元素,remove()后面只能跟一个参数
>>> set2=set([1,2,3,4,5,'hello',999]) >>> set2.remove(999) >>> set2 {1, 2, 3, 4, 5, 'hello'} >>> set2.remove(1,2)
#remove()只能跟一个参数
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: remove() takes exactly one argument (2 given) #remove()只能跟一个参数 >>>
字典和集合的区别
6.最后我们来总结一下关于Python中的字典和集合的区别
字典和set的区别:
- 都可以新增key
- 当有重复key产生时,只保留一个key值
- 都可以删除key (字典使用del set使用remove)
- 字典和set集合都不可以使用可变对象来做键
- set集合是一组key(键),但是key没有对应的值,不像字典以键值对的形式存在
- set不支持索引取值,字典可以通过键来取值但是呢我们可以把键看做特殊的 '索引'
相关文章推荐
- Python基础入门3--list集合,元组,字典
- 零基础入门学习Python(27)--集合:在我的世界里,你就是唯一
- Python基础入门(十一)- 集合set
- Python零基础入门之十集合
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- [Python入门及进阶笔记]Python-基础-集合小结
- 8-Python3从入门到实战—基础之数据类型(集合-Sets)
- [Python入门及进阶笔记]Python-基础-集合小结
- 零基础入门学习Python(14):集合set()
- python入门:基础,列表、元组、字典及集合类型
- Python零基础入门之十五类中的魔法方法
- python dataframe基础入门
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件
- 基础入门_Python-模块和包.运维开发中__import__动态导入最佳实践?
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件
- 零基础入门学习Python(3)--小插曲之变量和字符串
- 【零基础入门学习Python笔记005】闲聊之Python的数据类型
- python3爬虫之入门基础和正则表达式
- 零基础入门学习Python(4)--改进我们的小游戏