2015-09-02 2 views
0

У меня есть этот пример:Получить символы из списка списков

example=[["hello i am adolf","hi my name is "],["this is a test","i like to play"]] 

Итак, я хочу, чтобы получить следующий массив:

chars2=[['h', 'e', 'l', 'l', 'o', ' ', 'i', ' ', 'a', 'm', ' ', 'a', 'd', 'o', 'l', 'f','h', 'i', ' ', 'm', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's'],['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 'i', ' ', 'l', 'i', 'k', 'e', ' ', 't', 'o', ' ', 'p', 'l', 'a', 'y']] 

Я попытался это:

chars2=[] 
for list in example: 
    for string in list: 
     chars2.extend(string) 

, но я получаю следующее:

['h', 'e', 'l', 'l', 'o', ' ', 'i', ' ', 'a', 'm', ' ', 'a', 'd', 'o', 'l', 'f', 'h', 'i', ' ', 'm', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' ', 't', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 'i', ' ', 'l', 'i', 'k', 'e', ' ', 't', 'o', ' ', 'p', 'l', 'a', 'y'] 

ответ

3

Для каждого list в примере вам нужно добавить еще один список внутри chars2, в настоящее время вы просто расширение chars2 непосредственно с каждым символом.

Пример -

chars2=[] 
for list in example: 
    a = [] 
    chars2.append(a) 
    for string in list: 
     a.extend(string) 

Пример/Demo -

>>> example=[["hello i am adolf","hi my name is "],["this is a test","i like to play"]] 
>>> chars2=[] 
>>> for list in example: 
...  a = [] 
...  chars2.append(a) 
...  for string in list: 
...   a.extend(string) 
... 
>>> chars2 
[['h', 'e', 'l', 'l', 'o', ' ', 'i', ' ', 'a', 'm', ' ', 'a', 'd', 'o', 'l', 'f', 'h', 'i', ' ', 'm', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' '], ['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 'i', ' ', 'l', 'i', 'k', 'e', ' ', 't', 'o', ' ', 'p', 'l', 'a', 'y']] 
+0

приятный, спасибо за поддержку :) – John

1

Попробуйте использовать простой список понимание

example = [list(item) for sub in example for item in sub] 

+1

FYI, что не дает то, что ОП поддалась * Я хочу, чтобы получить следующий массив: *. –

Смежные вопросы