我有一个布尔数组,现在我想交换这些条目的数字。遍历数组
False => 0
True => 1
我写了两段不同的代码,我想知道哪一段更好,为什么。这不是关于实际解决问题,而是关于学习。
arr = [[True,False],[False,True],[True,True]]
for i,row in enumerate(arr):
for j,entry in enumerate(row):
if entry:
arr[i][j] = 1
else:
arr[i][j] = 0
print(arr)
而第二种方法:
arr = [[True,False],[False,True],[True,True]]
for i in range(len(arr)):
for j in range(len(arr[i])):
if arr[i][j]:
arr[i][j] = 1
else:
arr[i][j] = 0
print(arr)
,我读了有办法与进口itertools
或类似做到这一点。如果可以用“板载工具”来完成,我真的不喜欢导入东西,但是我应该用它来解决这个问题吗?
绝对选项A;遍历范围(len(...))'不是pythonic。 – jonrsharpe
非常感谢。那是我正在寻找的答案! – Swift