欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python基础-week03

程序员文章站 2022-09-26 16:46:46
本节内容: 1.集合及其运算 2.文件读与写详解(1-3) 3.文件修改详解 4.字符编码转化详解(1-2) 5.函数与函数式编程(1-2) 6.函数式编程之参数详解(1-2) 7.函数式编程与函数不同 8.局部变量与全局变量的作用域(1-2) 9.递归 10.高阶函数 一.集合及其运算 1.集合的 ......

本节内容:

  1.集合及其运算

  2.文件读与写详解(1-3)

  3.文件修改详解

  4.字符编码转化详解(1-2)

  5.函数与函数式编程(1-2)

  6.函数式编程之参数详解(1-2)

  7.函数式编程与函数不同

  8.局部变量与全局变量的作用域(1-2)

  9.递归

  10.高阶函数

 

一.集合及其运算

  1.集合的概念

    集合是一个无序的,不重复的数据组合,它的主要作用如下

      *去重,把一个列表变成集合,就自动去重了

      *关系测试,测试两组数据之前的交集、并集、差集、子集、父级、对称差集,判断没有交集等关系

  2.常用操作:

    1):集合的增删改查:

    

Python基础-week03
 1 #Author Jame-Mei
 2 #集合的增删改查等基本操作
 3 
 4 list1=set([1,3,5,7])
 5 
 6 #1.增加
 7 list1.add(9) #添加单项,update添加多项。
 8 print (list1):
 9 {1, 3, 5, 7, 9}
10 
11 =======================================
12 #2.删除
13 list1.remove(1) #删除指定单个,如果指定不存在报错
14 list1.pop()     #删除任意并返回
15 list1.discard('absdf')  ##删除指定单个,如果指定不存在返回None值(不报错)
16 
17 print (list1):
18 {3, 5, 7}
19 =======================================
20 
21 #3.修改
22 list1.update([2,4,6]) #注意这里格式,为列表的格式!!
23 list1.update(['a','A','b','C'])
24 
25 print (list1)#(输出后,原来的数据不变,会添加到集合里,顺序是随机的!)
26 {1, 2, 3, 4, 5, 6, 7, 'b', 'C', 'a', 'A'}
27 
28 ========================================
29 
30 #4.查看
31 
32 #1):长度
33 print(len(list1))
34 
35 #2):查看元素是否在集合中(列表,字典,集合,字符串都可以用in 或者not in来判断!!!)
36 print (5 in list1)
37 #3):查看元素是否不是list1中
38 print (9 not in list1)
39 
40 #4):测试list1是否是list2的子集
41 list2=set([1,3,5,7,9])
42 
43 
44 print(list1.issubset(list2))
45 #运算符
46 print (list1<=list2)
47 
48 #5):测试list2是否是list1的父级
49 print(list2.issuperset(list1))
50 #运算符
51 print (list2>=list1)
52 
53 #还有并集 | ,差集 - ,对称差集 ^,浅coyp: list1.copy等等
View Code

    2):常见的集合运算和集合运算符

     

Python基础-week03
 1 #Author Jame-Mei
 2 
 3 #1.去除除列表中重复值
 4 list1=[1,3,5,7,1,2,4,7]
 5 
 6 list1=set(list1)
 7 print (list1,type(list1))
 8 
 9 output:
10 {1, 2, 3, 4, 5, 7} <class 'set'>
11 =========================================================================================>>>>>>>>
12 
13 
14 #2.取交集:关系测试
15 list1=set([1,3,6,7,9])
16 list2=set([2,4,6,7,8])
17 #其中重复为6,7
18 print (list1,list2):
19 {1, 3, 6, 7, 9} {2, 4, 6, 7, 8}
20 
21 #list3为交集的元素
22 list3=list1.intersection(list2)
23 print (list3):
24 {6, 7}
25 
26 #交集元算符:&  (两边无先后顺序)
27 list1 & list2
28 =========================================================================================>>>>>>>>
29 
30 
31 #2.取并:union()
32 list1=set([1,3,5])
33 list2=set([2,4,6])
34 
35 list3=list1.union(list2)
36 print (list3):
37 {1, 2, 3, 4, 5, 6}
38 
39 #并集运算符:| (两边无先后顺序)
40 list1 | list2
41 =========================================================================================>>>>>>>>
42 
43 
44 #3.差集:求list1和list2共有的以外的,各自的元素。
45 list1=set([1,3,5,7,9])
46 list2=set([2,4,6,7,9])
47 
48 #取list1的差集,list2中没有的,属于list1的。
49 list3=list1.difference(list2)
50 print (list3):
51 {1, 3, 5}
52 
53 #取list2的差集,list1中没有的,属于list2的。
54 list4=list2.difference(list1)
55 print (list4):
56 {2, 4, 6}
57 
58 #差集运算符: - (在左边,不在右边)
59 list1 - list2
60 
61 list2 - list1(差集的元素在list2中,不在list1中)
62 =========================================================================================>>>>>>>>
63 
64 
65 #4.子集:list1是否是list2的子集(儿子),list1里面有的list2都有,list2里面有的,list1不一定有(list2包括list1)
66 list1=set([1,3,5])
67 list2=set([1,3,5,7,9])
68 print (list1.issubset(list2)):
69 True
70 =========================================================================================>>>>>>>>
71 
72 
73 
74 #5.父级:list1是否是list2的父级(父亲),list1包括list2,list1里面有的list不一定有,list2有的list1一定有。
75 list2=set([1,3,5])
76 list1=set([1,3,5,7,9])
77 print(list1.issuperset(list2)):
78 True
79 =========================================================================================>>>>>>>>
80 
81 
82 #6.对称差集:去除2者重复后的所有元素,或者这两者的差集相加,(互相都没有的和)就是对称差集。
83 list2=set([1,3,5,8,10,12])
84 list1=set([1,3,5,7,9])
85 
86 print (list1.symmetric_difference(list2)):
87 {7, 8, 9, 10, 12}
88 
89 #对称差集的元算符: ^ (返回一个新的 set 包含 list1 和 list2 中不重复的元素 ,无顺序关系!)
90 list1 ^ list2
91 
92 =========================================================================================>>>>>>>>
93 #7.判断没有交集,True=没有交集,False=有交集。
94 list1=set([1,3,5])
95 list2=set([2,4,6])
96 
97 flag=list1.isdisjoint(list2)
98 print(flag):
99 True
View Code

 

 

 

未完待遇.....