码迷,mamicode.com
首页 > 编程语言 > 详细

Python从入门到精通之Sixth!

时间:2019-02-19 22:21:23      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:inter   报错   差集   linux   enum   元组   update   包括   style   

补充:enumerate 函数用于遍历序列(元组tuple、列表list、字典dict)中的元素以及它们的下标:

>>> for i,j in enumerate((a,b,c)):
      print(i,j,end="")
0 a1 b 2c

Python 集合set

定义:由不同元素组成的无序的元组    形式:S = {‘H‘,‘E‘,‘L‘,‘L‘,‘O‘}或者S = set(‘HELLO‘)

set()函数可以把列表、元组等等转换为集合     集合可以做到简单去重的效果,也可以进行交差并等的集合运算。

集合的内置方法:

#add方法:把元素添加到集合
s = {1,2,4,5}
s.add(3)

#clear方法:清空集合
s.clear()

#copy拷贝
s1 = s.copy()

#pop方法:随机删除一个值
s = {1,2,3,4,5}
s.pop()

#remove方法:指定删除,删除元素不存在会报错
s = {1,2,3,4,5,hello}
s.remove(hello)

#discard方法:指定删除,删除元素不存在不会报错
s = {1,2,3,4,5,hello}
s.discard(hello)

集合的运算:交、并、差

#求交集   2个方法:intersection 或 &
Linux = [a,1,2,3,b]
Python = [a,5,3,6,4,c]
linux_s = set(Linux)
python_s = set(Python)
print(python_s.intersection(linux_s))
print(python_s & linux_s)

#求并集 2个方法:union 或 | Linux = [a,1,2,3,b] Python = [a,5,3,6,4,c] a = set(Linux) b = set(Python) print(a.union(b)) print(a | b) #求差集 2个方法:difference 或 -(减号) Linux = [a,1,2,3,b] Python = [a,5,3,6,4,c] a = set(Linux) b = set(Python) print(b-a) print(a-b) print(b.difference(a)) #b集合减去a集合 print(a.difference(b)) #a集合减去b集合
a.difference_update(b)  #a集合减去b集合并更新a集合,与上面作用没什么大的区别
 

#交差补集:两集合并到一起,之后减去两个共有的元素

#求交叉补集 两种方法:symmetric_difference() 或 ^
Linux = [a,1,2,3,b]
Python = [a,5,3,6,4,c]
a = set(Linux)
b = set(Python)
print(a.symmetric_difference(b))
print(a ^ b)

集合运算补充:

#isdisjoint方法:如果两个集合的交集不存在则为True,否则False
print(linux_s.isdisjoint(python_s))

#issubset()方法:如果s1是s2的子集,返回True
print(s1.issubset(s2))
#issuperset()方法:如果s1是s2的父集,返回True
print(s1.issuperset(s2))

#update更新,add只能添加一个值,而update可用于更新多个值(包括列表元组等等)
s1 = {1,2}
s2 = {1,2,3}
s1.update(s2)     ==========>{1,2,3}

#symmetric_difference_update方法:与symmetric_difference()交叉补集几乎相同

#intersection_update:与交集几乎相同

集合是可变的,定义不可变集合:s = frozenset()

不可变集合没有add、remove等等的方法。

Python从入门到精通之Sixth!

标签:inter   报错   差集   linux   enum   元组   update   包括   style   

原文地址:https://www.cnblogs.com/xtznb/p/10403674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!