如何获取用空格分隔的值并将它们放在新列表中?

时间:2019-05-30 15:16:45

标签: python list

我想从列表= [[x,y,abc],[x,y,def],[x,y,ghi]]中获取值,然后将第三个元素中的值用空格分开在新列表上。

我尝试使用2个for循环在每个列表中进行迭代,并寻找第三个元素(文本),使用空格将其分割并将每个单词存储在新列表中。


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],但是不知何故笔记本向我抛出了一个错误。请帮助:(。

[编辑] 这是我得到的错误:

---------------------------------------------------------------------------
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 个答案:

答案 0 :(得分:3)

假设它们是字符串,而不是变量:

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)

输出

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']