python学习17集合

set

1. 定义:跟数学中的集合概念一致,是一个无序的不重复元素序列

2. 创建

(1)    通过set关键字创建

Sa=[1,2,3,4]

Sb=set(sa)

(2)    通过大括号{}

Sc={1,2,3,4}

3. 集合操作

(1)    In操作

(2)    遍历:

Sa={(1,2,3),(4,5,6),(‘a’,’b’,’c’)}

for i,j,k in sa:

   print(i,j,k)

(3)    集合的生成式

Sa={1,2,3,4,5}

Sb={I for I in sa}

Print(sb)

(4)    Len:长度,即元素个数

(5)    Max:最大值

(6)    Add:向集合中添加元素

update(x):x可以有多个,用逗号分开

S={2,55,66,88}

s.add(77)

(7) clear:清空

(8)remove:删除,若删除的元素不在集合中,报错

(9)discard:删除,不在集合中,也不报错

(10)pop:弹出集合的一个内容,删除的内容是随机的

4. 集合的数学知识

(1) 交

S1={1,2,3,4,5}

S2={4,5}

S3=s1.intersection(s2)

(2)并

S3=s1.union(s2)

(3)    差

S3=s1.difference(s2)

S3=s1-s2

5. 冰冻集合 frozenset

不允许修改的集合

Sb=frozenset(Sa)

Print(sb)

6. 两个集合间的运算

a = set('abracadabra')

b = set('alacazam')

c=a - b  # 集合a中包含而集合b中不包含的元素

d=a | b  # 集合a或b中包含的所有元素

e=a & b  # 集合a和b中都包含了的元素

f=a ^ b  # 不同时包含于a和b的元素

7. 列表和集合支持集合推导式

a = {x for x in 'abracadabra' if x not in 'abc'}

print(a)  #{'r', 'd'}

8. 集合内置方法完整列表

集合内置方法完整列表

方法 描述

add()  为集合添加元素

clear()    移除集合中的所有元素

copy() 拷贝一个集合

difference()   返回多个集合的差集

difference_update()    移除集合中的元素,该元素在指定的集合也存在。

discard()  删除集合中指定的元素

intersection() 返回集合的交集

intersection_update()  返回集合的交集。

isdisjoint()   判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

issubset() 判断指定集合是否为该方法参数集合的子集。

issuperset()   判断该方法的参数集合是否为指定集合的子集

pop()  随机移除元素

remove()   移除指定元素

symmetric_difference() 返回两个集合中不重复的元素集合。

symmetric_difference_update()  移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

union()    返回两个集合的并集

update()   给集合添加元素

posted @ 2020-02-25 17:42  程序员王不错  阅读(222)  评论(0)    收藏  举报