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数据类型内置之集合的主要内容,如果未能解决你的问题,请参考以下文章

流程控制之for循环基本数据类型及其内置方法

10 集合的内置方法及数据结构总结

python数据类型之内置方法

python基础数据类型之字典+集合

Python数据结构与算法(1.2)——Python基础之变量与内置数据类型

Python——数据类型之set