Files
2025PY/day23/00-列表推导式的案例.py
2025-05-22 16:50:44 +08:00

54 lines
1.6 KiB
Python

# 1、将字典中的数据变成['x=A', 'y=B', 'z=c']的样式
dict = {'x': 'A', 'y': 'B', 'z': 'C' }
# print(dict.items()) # 将字典转换成列表格式 [('x', 'A'), ('y', 'B'), ('z', 'C')]
list = [f'{key} = {val}' for key,val in dict.items()] # 元组解构两个之key,val
print(list) # 'x = A', 'y = B', 'z = C']
# 2、将所用元素变成纯小写
list = ["ADDD","dddDD","DDaa","sss"]
print([item.lower() for item in list]) # item列表的每一项 ['addd', 'ddddd', 'ddaa', 'sss']
print([item.upper() for item in list]) # item列表的每一项 ['ADDD', 'DDDDD', 'DDAA', 'SSS']
# 3、x是0-5之间的偶数,y是0-5之间的奇数 把x,y组成一起变成元组,放到列表当中
# print([(x,y) for x in range(0,6) if x%2==0 for y in range(0,6) if y%2!=0])
# [(0, 1), (0, 3), (0, 5), (2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)]
# list = [(0,1),(2,3),(4,5)]
# print([(x,y) for x,y in list])
# 4、使用列表推导式 制作所有99乘法表中的运算
# list = [f'{i}x{j}={i*j}' for i in range(0,10) for j in range(0,10)]
# print(list)
# 5、求M,N中矩阵和元素的乘积
M = [[1,2,3], [4,5,6], [7,8,9]]
N = [[2,2,2], [3,3,3], [4,4,4]]
# =>实现效果1 [2, 4, 6, 12, 15, 18, 28, 32, 36]
# =>实现效果2 [[2, 4, 6], [12, 15, 18], [28, 32, 36]]
list = [M[i][j]*N[i][j] for i in range(0,3) for j in range(0,3)]
print(list) # [2, 4, 6, 12, 15, 18, 28, 32, 36]
list1 = [[M[i][j]*N[i][j] for i in range(0,3)] for j in range(0,3)]
print(list1) # [[2, 12, 28], [4, 15, 32], [6, 18, 36]]
# print(M[0][0])
# print(N[0][0])
# print(M[0][1])
# print(N[0][1])
# print(M[0][2])
# print(N[0][2])