python—集合,, ——集合: (集


——集合: (集合中的元素都不相同,无序,且不可变) (花括号括起来)

【1】定义集合

1 直接定义:2 s={1,2,3,(4,5),"zhouyuan"}3 使用系统内置函数set定义:4 s=set(‘hello‘)    5 print(s)      #去除重复6 #运行结果:{‘o‘,‘h‘,‘l‘,‘e‘}

【2】集合常用方法

(1)添加元素: add()

1 s={1,2,3,4,5,6}2 s.add(‘s‘)3 s.add(5)4 print(s)5 #运行结果:{1,2,3,4,5,6,‘s‘}

(2)清空: clear()

(3)复制: copy()

(4)删除: pop() [不可以传值,直接随机删除一个元素]

remove() [可以传值,可指定删除某个元素,如不存在报错]

discard() [可以删除某个元素,如不存在不会报错]

 1 s={1,2,3,‘zy‘} 2 s.pop() 3 print(s) 4 #运行结果:{1,3,‘zy‘}   (随机删除某个元素) 5 t={1,2,3,‘zy‘} 6 t.remove(‘zy‘) 7 print(t) 8 #运行结果:{1,2,3} 9 t.remove(6)10 print(t)11 #报错12 k={1,2,3,‘zy‘}13 k.discard(‘zt‘)14 print(k)15 #运行结果:{1,2,3,‘zy‘}

(5)求差集并更新 difference_update()

1 a_s={1,2,3,4}2 b_s={3,4,5,6}3 a_s.difference_update(b_s)      #相当于a_s=a_s-b_s4 print(a_s)5 #运行结果:{1,2}

(6)判断集合是否有公有的部分 isdisjoint()

1 a_s={1,2,3}2 b_s={2,3,4}3 print(a_s.isdisjoint(b_s))     #有公共部分就是False,没有就是True4 #运行结果:False

(7)判断两个集合是否为包含关系 issubset()[前面是否是后面的子集] issuperset()[前面是否为后面的父集]

1 a_s={1,2,3}2 b_s={1,2}3 print(b_s.issubset(a_s))4 #运行结果:True

(8)更新多个值 update()

 1 a_s={1,2,3} 2 b_s={4,5,6} 3 a_s.update(b_s) 4 print(a_s) 5 #运行结果:{1,2,3,4,5,6} 6  7 a_s={1,2,3} 8 a_s.update((3,5))      #可迭代的都可以 9 print(a_s)10 #运行结果:{1,2,3,5}

【3】集合并,交,差关系运算:

 1 #求交集 2 a_s={1,2,3,4} 3 b_s={3,4,5,6} 4 print(a_s.intersection(b_s))     #intersection() 求交集 5 print(a_s&b_s)      #& and 求交集 6 #运行结果:{3,4} 7  8 #求并集 9 a_s={1,2,3,4}10 b_s={3,4,5,6}11 print(a_s.union(b_s))      #union() 求并集12 print(a_s|b_s)     #| 并 求并集13 #运行结果:{1,2,3,4,5,6}14 15 #求差集16 a_s={1,2,3,4}17 b_s={3,4,5,6}18 print(a_s.difference(b_s))      #difference() 求并集19 print(a_s-b_s)    #- 减 求差集20 #运行结果:{1,2}

【4】集合的交叉补集:

1 a_s={1,2,3,4}2 b_s={3,4,5,6}3 print(a_s.symmetric_difference(b_s))      #symmetric_difference() 交叉补集4 print(a_s^b_s)      # ^ 交叉补集5 #运行结果:{1,2,5,6}

python—集合

评论关闭