как можно разбить каждое слово в двумерном массиве на раздельные символы
У меня есть двумерный массив из слов, хотел бы разбить каждое слово на символы и чтобы эти символы тоже находились в этом двумерном массиве.
Тут вроде разбиваю, но не понятно, почему он разбивает только последний ряд
def split(array):
return [char for char in array]
f = open("lol.txt", "r")
array=[]
for line in f:
array.append(list(map(str, line.split())))
for r in range(len(array)):
for c in range(len(array[r])):
b = split(array[r][c])
print(array)
print(b)
Вот что у меня выводит
[['lnobrblalo'], ['medvaozmfo'], ['ovtzasbest'], ['nznekosilo'], ['iaajnnaoly'], ['kludkkkzvi'], ['ooauulaaia']]
['o', 'o', 'a', 'u', 'u', 'l', 'a', 'a', 'i', 'a']
Вот что содержит lol.txt
lnobrblalo
medvaozmfo
ovtzasbest
nznekosilo
iaajnnaoly
kludkkkzvi
ooauulaaia
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Предлагаю воспользоваться чуть более коротким и элегантным решением:
with open("lol.txt") as f:
res = [list(line.strip()) for line in f]
результат:
In [195]: res
Out[195]:
[['l', 'n', 'o', 'b', 'r', 'b', 'l', 'a', 'l', 'o'],
['m', 'e', 'd', 'v', 'a', 'o', 'z', 'm', 'f', 'o'],
['o', 'v', 't', 'z', 'a', 's', 'b', 'e', 's', 't'],
['n', 'z', 'n', 'e', 'k', 'o', 's', 'i', 'l', 'o'],
['i', 'a', 'a', 'j', 'n', 'n', 'a', 'o', 'l', 'y'],
['k', 'l', 'u', 'd', 'k', 'k', 'k', 'z', 'v', 'i'],
['o', 'o', 'a', 'u', 'u', 'l', 'a', 'a', 'i', 'a']]
Автор решения: Эникейщик
→ Ссылка
Разбивает каждый ряд, но выводит только последний, потому что вывод происходит после цикла, а b в цикле каждый раз получает новое значение, предыдущее пропадает .