我有一個布爾數組,現在我想交換這些條目的數字。遍歷數組
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