python边缘知识
python3中常用的序列函数
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列中最小值元素
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
any(x) 真值测试, 如果列表中其中一个值为真值则返回True,否则返回False
all(x) 真值测试,如果列表中所有值为真值,则返回True,只要有一个为假,则返回False
# 1.已知有列表 # L = [3, 5] # 用索引和切片操作,将列表改为: # L = [1,2,3,4,5,6] # 将列表反转(前后对调), 然后删除最后一个元素 # print(L) # [6,5,4,3,2] L = [3, 5] L[1:1] = [4] L[0:0] = [1,2] print(L) L[len(L):len(L)] = [6] print(L) L[:] = L[::-1] # 反转 del L[-1] print(L)
# 2. 写程序,让用户循环输入一些整数,当输入-1时 # 结束输入,将这些整数存于列表L中 # 1) 打印您共输入了几个有效的数? # 2) 打印您输入的数的最大数是多少? # 3) 打印您输入的数的最小数是多少? # 4) 打印您输入这些数的平均值 L = [] # 先创建一个列表,用来存储输入的整数 while True: n = int(input("请输入(-1结束):")) if n == -1: break L += [n] # 将n追加到L列表中 print(L) print("您输入的有效个数是: ", len(L)) print("您输入的最大数是:", max(L)) print("您输入的最小数是:", min(L)) print("您输入的平均数是:", sum(L)/len(L))
# 练习: # 写一个程序,输入多行文字,当输入空行时结束输入 # 将原输入的所有字符串存于列表L中 # 1. 按原来输入的行的顺序反向打印这些行 # 列: # 输入:hello world # 输入:welcome to china # 输入:I like python # 输入: <回车> # 显示 # I like python # welcome to china # hello world # 2. 打印出您共输入了多少文字符? L = [] # 用来存放每一行字符串 while True: s = input("输入: ") if not s: # s为空则跳出循环 break L.append(s) # 追加到L中 print(L) s = 0 # 用来记录字符个数 # 方法1, # i = len(L) -1 # 得到最后一个行的索引 # while i >= 0: # print(L[i]) # s += len(L[i]) # i -= 1 # 方法2, 用for循环 L.reverse() # 先反转 for line in L: print(line) s += len(line) print("字符的个数是:", s)
字符串文本解析方法 split 和 join
S.split(sep=None) 将字符串,使用sep作用为隔符分割S字符串,返回分割后的字符串的列表,当不给定参数时,用空白字符作为分隔符进行分割
S.join(iterable) 用可迭代对象中的字符串,返回一个中间用S进行分隔的字符串
s = 'Beijing is capital' L = s.split(' ') # L = ['Beijing', 'is', 'capital'] s = '\\' L = ['C:', 'Programe files', 'python3'] s2 = s.join(L) # s2 = b'C:\Programe files\python3'
深拷贝 deep copy 和 浅拷贝 shallow copy
浅拷贝:是指在复制过程中只复制一层变量,不会复制深层变量绑定的对象的复制过程
L = [3.1, 3.2] L1 = [1, 2, L] L2 = L1.copy() # 等同于 L1[:] 浅拷贝 print(L1) # [1, 2, [3.1, 3.2]] print(L2) # [1, 2, [3.1, 3.2]] L2[2][0] = 3.14 print(L1) # [1, 2, [3.14, 3.2]] print(L2) # [1, 2, [3.14, 3.2]]
深拷贝
注:深拷贝通常只对可变对象进行复制,不可变对象通常不变
import copy # 导入copy模块 L = [3.1, 3.2] L1 = [1, 2, L] L2 = copy.deepcopy(L1) # 深拷贝 print(L1) # [1, 2, [3.1, 3.2]] print(L2) # [1, 2, [3.1, 3.2]] L2[2][0] = 3.14 print(L1) # [1, 2, [3.1, 3.2]] print(L2) # [1, 2, [3.14, 3.2]]
如需转载
请联系作者:qq:3336987685
微信:LeoLRH