10数据类型内置之集合
Posted jingpeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10数据类型内置之集合相关的知识,希望对你有一定的参考价值。
一、集合
1.1、集合定义
在大括号{}内使用逗号,分隔开多种元素,具备集合需要有以下几种特征:
1.、每个元素必须是不可变类型
2、每个元素都是唯一性
3、集合内元素无序
1.2、作用
和列表、字典、元组一样可以存放多个值。但主要用来:去重以及关系运算。
注意:d = { } #默认是空字典
s = set ( ) #代表着空集合
1.3、转换类型 set( )
set({1,2,3}) res=set(‘hellolllll‘) print(res)
1.4、内置方法
1.4.1、交集: 公共的元素 &
res=friends1 & friends2
print(res)
print(friends1.intersection(friends2))
1.4.2、 并集: 所有的元素 |
print(friends1 | friends2) print(friends1.union(friends2))
1.4.3、差集: 独有的元素 -
print(friends1 - friends2) print(friends1.difference(friends2))
1.4.4、对称差集:双方独有的元素 ^
print(friends1 ^ friends2) print(friends1.symmetric_difference(friends2))
1.4.5、父子集:包含的关系 使用大于号或者小于号进行判断
s1={1,2,3}s2={1,2,4}不存在包含关系,下面比较均为Falseprint(s1 > s2)print(s1 < s2)
1.5、去重
1.5.1、使用集合去重,但时无序,只能针对不可变量类型
l=[1,‘a‘,‘b‘,‘z‘,1,1,1,2]
l=list(set(l))
print(l)
1.5.2、使用for循环去重,有序,但时复杂
l=[ {‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘}, {‘name‘:‘jack‘,‘age‘:73,‘sex‘:‘male‘}, {‘name‘:‘tom‘,‘age‘:20,‘sex‘:‘female‘}, {‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘}, {‘name‘:‘lili‘,‘age‘:18,‘sex‘:‘male‘}, ] new_l=[] for dic in l: if dic not in new_l: new_l.append(dic) print(new_l)
1.6、内置方法
1.6.1、长度 len
s={‘a‘,‘b‘,‘c‘} len(s)
1.6.2、成员运算 in
s={‘a‘,‘b‘,‘c‘}
‘c‘ in s
1.6.3、循环 for
for item in s: print(item)
1.6.4、删除 discard remove pop
s={‘a‘,‘b‘,‘c‘} s.discard(4) # 删除元素不存在do nothing print(s) s.remove(4) # 删除元素不存在则报错
res=s.pop() #删除返回删除的值
print(res)
1.6.5、更新 update
s={‘a‘,‘b‘,‘c‘} s.update({1,3,5}) print(s)
1.6.6、添加 add 交集
s={‘a‘,‘b‘,‘c‘}
s.add(4)
print(s)
1.6.7、判断两个集合无联系 isdisjoint
s={‘a‘,‘b‘,‘c‘}
res=s.isdisjoint({3,4,5,6}) # 两个集合完全独立、没有共同部分,返回True
print(res)
1.6.7、差集 difference_update
s={‘a‘,‘b‘,‘c‘}
s.difference_update({3,4,5}) # s=s.difference({3,4,5})
print(s)
以上是关于10数据类型内置之集合的主要内容,如果未能解决你的问题,请参考以下文章