python基础知识小结之集合
集合
特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。
定义
set()->newemptysetobject
set(iterable)->newsetobject
s={0}
应用:去重
>>>lst1=[1,1,2,2,3,4,2] >>>list(set(lst1)) [1,2,3,4]
常用操作
集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
子集<<=及超集>>=
增删,清空操作
具体见如下代码例子
>>>lst1=[1,2]
>>>lst2=[2,3]
>>>a=set(lst1)#定义集合
>>>b=set(lst2)
>>>a,b
({1,2},{2,3})
>>>a|b#取并集
{1,2,3}
>>>a&b#取交集
{2}
>>>a-b#取差集
{1}
>>>b-a#取差集
{3}
>>>list(a)#转换集合为列表,也可转为元组,如tuple(a)返回(1,2)
[1,2]
>>>a<b#子集判断
False
>>>c=set([1])
>>>c
{1}
>>>c<a#子集判断
True
>>>c<=a#子集判断
True
>>>d=set([1,2,3])
>>>d>a#超集判断
True
>>>
>>>d>=a#超集判断
True
>>>a,b
({1,2},{2,3})
>>>a^b#对称差集
{1,3}
>>>c
{1}
>>>d
{1,2,3}
>>>a^d#对称差集
{3}
>>>s={0}
>>>type(s)
<class'set'>
>>>
>>>print(s,len(s))#集合长度
{0}1
>>>s.add('1')#添加元素
>>>s
{0,'1'}
>>>s.update([2,3])#添加多个元素
>>>s
{0,2,3,'1'}
>>>s.remove(2)#删除指定元素,如没有则报错
>>>s
{0,3,'1'}
>>>s.pop()#随便删元素(貌似没什么用)
0
>>>s
{3,'1'}
>>>s.discard(3)#删除指定元素
>>>s
{'1'}
>>>s.clear()#清空集合
>>>s
set()