Python - 将 for 循环变成单行代码
Python - Turning a for-loop into a one-liner
我正在尝试创建一个不带任何库的矩阵乘法标量函数。
它必须包括列表理解:
A = [[1,2],[3,4]] # 2by2 matrix
scalar = 2 #positive int
product = []
for row in A:
temp = []
for element in row:
temp.append(scalar * element)
product.append(temp)
print(product)
这是一个可能的解决方案:
A = [[1,2],[3,4]] # 2by2 matrix
scalar = 2 #positive int
product = [[i*scalar for i in sublist] for sublist in A]
print(product)
或者,您可以使用 lambda 和 map
:
product = [*map(lambda x: [*map(lambda y: y * scalar, x)], A)]
我正在尝试创建一个不带任何库的矩阵乘法标量函数。 它必须包括列表理解:
A = [[1,2],[3,4]] # 2by2 matrix
scalar = 2 #positive int
product = []
for row in A:
temp = []
for element in row:
temp.append(scalar * element)
product.append(temp)
print(product)
这是一个可能的解决方案:
A = [[1,2],[3,4]] # 2by2 matrix
scalar = 2 #positive int
product = [[i*scalar for i in sublist] for sublist in A]
print(product)
或者,您可以使用 lambda 和 map
:
product = [*map(lambda x: [*map(lambda y: y * scalar, x)], A)]