Python学习 :集合

集合 Set

集合的创建

     集合的创建只有一种方式

     集合中的元素必须是不可变的数据类型

     集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选

 1 s=set('xiaoming')
 2 s1=['alex','mike','alex','mary']
 3 s2=set(s1)
 4 print(s)
 5 print(s2)
 6 >>>{'a','g','m','x','o','n','i'}
 7 >>>{'mike','alex'}
 8 # 集合的重要特点:去重,重复元素只会显示一次
 9 s3=list(s)
10 # 重新把集合转变为列表
11 print(s3)
12 >>>['mike','alex']

集合的分类:可变集合、不可变集合

     可变集合(set):可添加和删除元素,不能作为字典的键

     不可变集合(frozenset):与可变集合相反

     集合的相关操作

 
s = set('xiaoming')
s1 = ['alex','mike','alex','mary']
s = set(s1)

1)add
s.add('john')
print(s)
>>>{'alex', 'mary', 'mike', 'john'}

2)update
s.update('john')
print(s)
>>>{'alex','n','h','mike','o','j'}
s.update(['john','damon'])#使用一个课迭代的容器list来把元素加入集合中
print(s)
>>>{'alex','mike','john'}

3)pop
s.pop()#pop不能指定删除某个特定的元素,每次只会删除一个参数
print(s)
>>>{'mike','alex'}

4)remove
s.remove('mike')#remove可以删除指定元素
print(s)
>>>{'mary', 'alex'}

5)clear
s.clear()#清空集合
print(s)
>>>set()

6)del#删除集合

集合类型操作符

1)in,notin

2)集合等价(==)与不等价(!=3)子集、超集
父集、超集(>)
a=set([1,2,3,4])
b=set([4,5,6,7])
print(a.issuperset(b)) # a 是否完全包含 b >>> False
子集(<) # a 是否属于 b print(a.issubset(b)) >>> False
4)联合即并集符号(|) 联合(union)操作与集合的or操作是等价的,取两个集合中所有的元素print(a.union(b)) # print(a|b) >>>{1,2,3,4,5,6,7} 5)交集(&print(a.intersection(b)) # print(a&b) >>>{4} 6)差集(-print(a.difference(b))#inabutnotinb # print(a-b)>>>{1,2,3} 7)对称差集(^) print(a.symmetric_difference(b)) # print(a^b) >>>{1,2,3,5,6,7}
 

猜你喜欢

转载自www.cnblogs.com/ArticleYeung/p/9762790.html