python数据类型之初识Set(集合)
来源:互联网 发布:优惠券源码 编辑:程序博客网 时间:2024/05/16 14:23
一、其他数据类型创建的回顾
1.列表
方法一:
a=[1,2,3]
方法二:
a=list([1,2,3])
2.元组
方法一:
b=('abc',123,'李四')
方法二:
b=tuple(['abc',123,'李四'])
3.字典
方法一:
c={'name':'张三','age':22}
方法二:
c=dict((('name','张三'),('age',22)))
二、 集合的创建只有一种,由关键字set创建:
d=set(对象)
注意:
1.使用set关键字创建集合时,该对象可以是任意数据类型,但是该对象中所有元素的数据类型必须是可哈希的,集合本身不可哈希的,且是无序的
2.可哈希的数据类型包括:数字、字符串、元组等
3.集合是一个自动去重的数据类型
4.由于集合之间不像列表或者字典那样存在索引,对于集合中元素的获取和通过迭代器或者for循环实现
5.集合与集合间存在着各种关系,如:包含与被包含关系,交集,并集,差集,反向交集(除了交集以外的元素组成的集合)
1.集合的创建及其他问题
1.1在列表a中,所有元素是可哈希的,且存在重复值,从最后输出结果可看出,集合自动将列表中元素进行了去重处理,并且数据是无序的
a=[1,3,2,3,'a','b',(11,22,33),'b','c'] #以列表为例,此时列表中元素皆是可哈希的数据类型d=set(a) #创建集合dprint(d) #输出结果:{1, 2, 3, (11, 22, 33), 'b', 'c', 'a'}
1.2将列表a的元素中添加一个不可哈希的数据,看其输出结果,可看出,报错为list数据类型不可哈希
a=[['张三','李四'],1,3,2,3,'a','b',(11,22,33),'b','c']#此时,列表a中嵌套了一个不可哈希的列表元素d=set(a)print(d) #报错:TypeError: unhashable type: 'list'
2.集合间的关系操作
2.1并集 union 或者 |
a=set([1,2,3,4,5])b=set([3,4,5,6,7])#方法一:print(a.union(b)) #使用union(),实现并集#方法二:print(a | b) #使用 (集合a | 集合b) 实现并集
2.2交集 intersection 或者 &
a=set([1,2,3,4,5])b=set([3,4,5,6,7])#方法一:print(a.intersection(b)) #{3,4,5}#方法二:print(a & b) ##{3,4,5}
2.3差集 difference 或者
a=set([1,2,3,4,5])b=set([3,4,5,6,7])print(a.difference(b)) #{1, 2} 在交集的基础上,存在于a中不存在于b中的元素print(a - b)print(b.difference(a)) #{6, 7} 在交集的基础上,存在于b中不存在于a中的元素print(b - a)
2.4反向交集(除了交集以外的元素组成的集合)symmetric_difference 或者 ^
a=set([1,2,3,4,5])b=set([3,4,5,6,7])print(a.symmetric_difference(b)) #{1, 2, 6, 7}print(a ^ b) #{1, 2, 6, 7}
2.5包含(> 、< 、 =)
a=set([4,5])b=set([3,4,5,6,7])print(a <= b) #True b包含a
阅读全文
0 0
- python数据类型之初识Set(集合)
- Python之集合(set)
- Python核心数据类型——集合(Set)
- python之set(集合)简介
- 无序集合(set)数据类型
- Redis数据类型--Set(集合)
- Python基本数据类型之set
- python:集合(set)
- python 集合(Set)
- Python学习之set()集合
- Python数据结构之集合Set
- Redis基础之数据类型(Set无序集合)
- Redis笔记5:数据类型之集合(Set)
- Python(五)set 集合
- Python的集合(Set)
- python set集合(数据结构)
- <Python进阶读书笔记>之(四) set集合
- Python学习笔记之集合set
- 博客报到
- 397. Longest Increasing Continuous Subsequence
- 剑指Offer---表示数值的字符串
- 大数据揭秘:低学历成功逆袭概率多少?结果令人震惊!
- 决策树详解
- python数据类型之初识Set(集合)
- c中指针数组与数组指针的区别
- 老司机,滴~让你赚5-50不等红包的机会,截止到圣诞节结束
- java热加载
- 10.4
- Spark操作MySQL数据库
- HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头
- Codeforces Round #454 (Div. 2, based on Technocup 2018 Elimination Round 4) E
- 微信小程序上传图片+java 后端接收实例