Day2补充:集合、文件、字符编码与转码

Day2补充:集合、文件、字符编码与转码[Python常见问题]

1.集合 使用{}存储

主要作用:

       ①去重,把两个列表变成集合,就自动去重了

       ②关系测试,测试两组数据之前的交集、差集、并集等关系

       将列表转化为集合,set命令强制转换即可

关系运算:

       交集:intersection命令 或 &

       并集:union命令 或 |

       差集:difference命令 或 –

       子集:issubset命令

       父集:issuperset命令

       对称差集:symmetric_difference命令 或 ^,对于A、B两个集合,该命令输出为A∪B-A∩B(将两个集合里分别独有的元素取出来放在一起)

       判断两集合是否有相同元素:isdisjoint命令

#以上操作不更改原集合

#以下操作更改原集合

       添加一项元素:add命令

       添加多项元素:update命令配合列表

       删除一项元素:remove命令(元素不存在报错)/discard命令(元素不存在返回None)/pop命令 随机删除,返回删除的元素值

       长度:len命令

       判断元素在集合内:in 命令

       判断元素不在集合内: not in命令

       intersection_update:求交集并将其更新在原集合中(intersection是生成在新集合中不改变原集合)

       difference_update、symmetric_difference_update同理

 

 1 list1 = [1, 3, 4, 7, 5, 3, 9]
 2 A = set(list1)
 3 print(list1, type(list1))
 4 list2 = [2, 22, 66, 4, 7, 55]
 5 B = set(list2)
 6 print("集合A:", A, "
", "集合B:", B)
 7 print("33[31m下面是集合操作33[0m".center(30, "-"))
 8 # 交集
 9 print("A、B求交", A.intersection(B), A & B)
10 # 并集
11 print("A、B求并:", A.union(B), A | B)
12 # 差集
13 print("A-B:", A.difference(B), A - B)
14 print("B-A:", B.difference(A), B - A)
15 # 子集
16 print("A是B的子集?", A.issubset(B))
17 # 父集
18 print("A是B的父集?", A.issuperset(B))
19 # 对称差集
20 print("对称差集", A.symmetric_difference(B), A ^ B)
21 # 判断两集合是否有相同元素
22 print(A.isdisjoint(B))
23 print("33[31m结束33[0m".center(30, "-"))
24 print(A, B)     # 上述集合操作并未更改原集合
25 
26 # 添加一项元素
27 A.add("WK")
28 print(A)
29 # 添加多项元素
30 A.update([444, 666, 888])
31 print(A)
32 # 删除一项元素
33 A.remove("WK")
34 print(A)
35 # 某元素是否在集合内
36 print("WK" in A)
37 print("WK" not in A)
38 print(A.pop())
39 print(A)
40 A.discard(888)
41 print(A)
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Day2补充:集合、文件、字符编码与转码