伙计们,我对编程完全陌生,所以我需要你们的帮助。我想创建一个函数,它接受一个二维数组并将每个非零元素映射到它的逆元素并将其放入 new_arr
但它没有给我我需要的东西
这是我的代码:
def question(arr):
for i in range(3):
for j in range(3):
z = arr[i][j]
new_arr[i][j] = z^-1
return new_arr[i][j]
question([[70,52,13,67],[90,48,57,26],[43,45,67,89],[88,65,44,23]])
请问有什么帮助吗?
最佳答案
您可以使用list comprehension解决这个问题
def question(arr):
return [[1.0/col if col else col for col in row] for row in arr]
print question([[70,52,13,67],[90,48,57,26],[43,45,67,89],[88,65,44,23]])
以你的方式做到这一点
def question(arr):
new_arr = []
for i in range(len(arr)):
row_arr = []
for j in range(len(arr[i])):
row_arr.append(arr[i][j] ** -1)
new_arr.append(row_arr)
return new_arr
print question([[70,52,13,67],[90,48,57,26],[43,45,67,89],[88,65,44,23]])
您必须为每一行创建一个新列表并将其附加到结果中。 BTW,^
指的是Python中的按位异或。因此,您可能需要使用 1.0/x
形式或 x**-1
形式。 **
在 python 中指的是 power。
关于python - 获取每个元素的逆并将其放入Python中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19619176/