Как получить значения, разделенные пробелом, и поместить их в новый список? - PullRequest
0 голосов
/ 30 мая 2019

Я хочу получить значения из списка = [[x, y, abc], [x, y, def], [x, y, ghi]] и поместить значения из третьего элемента, разделенные пробелом в новом списке.

Я попытался использовать 2 для циклов для итерации в каждом списке и поиска 3-го элемента (текста), разделить его, используя пробел, и сохранить каждое слово в новом списке.


list=[['x','y','a b c'],
['x','y','d e f'],
['x','y','g h i']]

wordsInput=[]
for words in list:
    for palabrasinList in range(len(words)):
        list[words][wordsinList].split(" ")
        individual=list[words][2].split(" ")[wordsinList]
        wordsInput.append(individual)

#Expected result:
    newList=[a,b,c,d,e,f,g,h,i]

Я бы хотел, чтобы новый список был newList = [a, b, c, d, e, f, g, h, i], но ноутбук почему-то выдает ошибку. Пожалуйста, помогите: (.

[EDIT] Это ошибка, которую я получаю:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-73-aaefcd3cda7c> in <module>()
      2 for words in list:
      3     for wordsinList in range(len(words)):
----> 4         individual=list[words][2].split(" ")[wordsinList]
      5         wordsInput.append(individual)

TypeError: list indices must be integers or slices, not list

1 Ответ

3 голосов
/ 30 мая 2019

Предполагая, что это строки, а не переменные:

list = [['x', 'y', 'a b c'],
        ['x', 'y', 'd e f'],
        ['x', 'y', 'g h i']]
wordsInput=[]
for words in list:
    wordsInput+=words[2].split(" ")
print(wordsInput)

OUTPUT

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...