現在我試圖創建一個小函數,它需要兩個參數,一個列表和限制,然後在所述列表中更改這些數字。 2D列表應該只返回1和0。如果元素大於或等於限制它的元素變爲1,如果它小於極限就變成了0。到目前爲止,這是我想出:如何在python中追加列表到列表中?
def tempLocations(heatMat,tempMat):
newMat=[]
for i in heatMat:
for j in i: #j goes into the list within the list
if j >= tempMat: #if the element of j is greater than or equal to the limit of the matrix
j = 1 #it will turn the element into a 1
newMat.append(j)
else:
if j < tempMat:
j = 0
newMat.append(j)
print newMat
tempLocations([[12,45,33,22,34],[10,25,45,33,60]],30)
這做我想要的大部分,除了它創建一個單一的列表,它放置所有的1和0。我試圖讓它保持二維列表樣式,同時仍然改變列表中的值,以便我最終得到的不是[0,1,1,0,1,0,0,1,1, 1]而是[[0,1,1,0,1],[0,0,1,1,1]]。我會如何去做這件事?任何幫助表示讚賞:)
作爲一個方面說明,無論你的答案選擇哪種解決方案,它不是重新定義一個好主意循環變量,在這種情況下爲'j'。你可以使用一個全新的變量來存儲0或1,然後再添加它,這樣當人們閱讀代碼時,'j'只是存儲從數據列表中讀取的實際數據值很簡單。 – ely 2014-10-09 23:23:56