Я пытаюсь перевести '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]]
кто-нибудь знает, как я может ли код изменить все списки, а не только первый?
Большое спасибо! Я уже два часа занимаюсь этим, теперь понимаю, что я сделал не так. Также спасибо за быстрый ответ! –