如何返回Python列表中的每个第n项?

Bed*_*ets 2 python python-3.x

我有一个列表,其格式与此类似:

list1 = ['random words go', 'here and','the length varies','blah',
         'i am so confused', 'lala lala la']
Run Code Online (Sandbox Code Playgroud)

什么代码适合返回列表中的每个第3项,包括第一个单词?这是预期的输出:

["random", "here", "length", "i", "confused", "la"]
Run Code Online (Sandbox Code Playgroud)

我在想我应该使用split功能,但我不知道该怎么做.有人也可以解释我是如何做到这一点所以整个列表不是那样的"部分"吗?相反,如果有意义的话,我怎么能把它变成一个长列表.

mat*_*ata 6

这可能是最易读的方法:

>>> list1 = ['random words go', 'here and','the length varies','blah', 'i am so confused', 'lala lala la']
>>> result = ' '.join(list1).split()[::3]
['random', 'here', 'length', 'i', 'confused', 'la']
Run Code Online (Sandbox Code Playgroud)

或者不再加入和拆分列表:

from itertools import chain
result = list(chain.from_iterable(s.split() for s in list1))[::3]
Run Code Online (Sandbox Code Playgroud)

然后你可以加入结果:

>>> ' '.join(result)
'random here length i confused la'
Run Code Online (Sandbox Code Playgroud)