欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python中的集合内置方法小结

程序员文章站 2022-05-11 13:19:02
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- #集合性质:需要传入一个list,且不含重复的元素,无序 list_1=[1,2,1,4,5,8,3,4,6,9,4,2,7,0,6,3,2] str_1='abcdefga' #-----------去... ......
#!/usr/local/bin/python3
# -*- coding:utf-8 -*-

#集合性质:需要传入一个list,且不含重复的元素,无序

list_1=[1,2,1,4,5,8,3,4,6,9,4,2,7,0,6,3,2]
str_1='abcdefga'

#-----------去重----------
list_1=set(list_1)   #去除重复元素
print(list_1)
str_1=set(str_1)
print(str_1)    #若将字符串传入集合,那么会被分割成一个一个字符进行存储,且去除重复字符
list_2=set([2,5,8,33,22,55])

'''
********************关系********************

-----------取交集----------
print(list_2.intersection(list_1))   #取list_1和list_2的交集
print(list_2 & list_1)

-----------取并集----------
print(list_2.union(list_1))   #取list_1和list_2的并集
print(list_2 | list_1)

-----------取差集----------
print(list_1.difference(list_2))    #取list_1和list_2的差集
print(list_1 - list_2)   #in list_1 but not in list_2

-----------判断是否是子集----------
print(list_1.issubset(list_2))      #若是,返回True

-----------判断是否是父集----------
print(list_1.issuperset(list_2))

-----------对称差集----------
print(list_1.symmetric_difference(list_2))  #将两个集合中都有的元素去除后再并在一起
print(list_1 ^ list_2)

-----------判断两个集合是否有交集----------
print(list_1.isdisjoint(list_2))

********************操作********************

-----------增----------
list_1.add(22)  #添加一项
list_1.update([333,222,111])    #添加多项,注:添加多项须以列表形式

-----------删----------
list_1.pop()   #删除任意一项,可能看上去是删除第一项,但其实是因为数据量不够多
list_1.remove(0)    #删除一项
list_1.discard(9)  删除集合中的指定元素,如果此元素不存在,则返回原集合

-----------改----------
list_1.remove(0)     #不可以直接修改,采用先删再增的方式达到改的目的
list_1.add('a')

-----------查----------
x=1
print(x in list_1)
'''
print(list_1)