我試圖將'methuselahs
'翻譯成二進制代碼。所有的點('。')應該變爲0,並且所有的O('O')應該變爲1.更改列表中的列表的值
我目前有一個可以工作的代碼,但它只會返回第一個list_of_lists列表。
list_of_lists = [['.O'],['...O'],['OO..OOO']]
def read_file(list_of_lists):
"""Reads a file and returns a 2D list containing the pattern.
O = Alive
. = Dead
"""
end_list = []
sub_list = []
for A_List in list_of_lists:
for A_String in A_List:
for item in A_String:
#Adding 0's and 1's to sub_list when given the right input
if item == '.':
sub_list.append(0)
elif item == 'O':
sub_list.append(1)
#Adding the sub
end_list.append(sub_list)
return end_list
輸出:
[[0,1]]
但預期輸出:
[[0,1],[0,0,0,1],[1,1,0,0,1,1,1]]
有誰知道我可以讓代碼更改所有列表,而不僅僅是第一個?
非常感謝您!我已經搞了兩個小時,現在我明白我做錯了什麼。也感謝您的快速回復! –