概述
一、其他数据类型创建的回顾
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) #创建集合d
print(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
最后
以上就是老迟到大山为你收集整理的python数据类型之初识Set(集合)2.3差集 difference 或者的全部内容,希望文章能够帮你解决python数据类型之初识Set(集合)2.3差集 difference 或者所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复