Python列表理解加入列表列表

con*_*gus 42 python list-comprehension

特定 lists = [['hello'], ['world', 'foo', 'bar']]

如何将其转换为单个字符串列表?

combinedLists = ['hello', 'world', 'foo', 'bar']

Nic*_*las 87

lists = [['hello'], ['world', 'foo', 'bar']]
combined = [item for sublist in lists for item in sublist]
Run Code Online (Sandbox Code Playgroud)

要么:

import itertools

lists = [['hello'], ['world', 'foo', 'bar']]
combined = list(itertools.chain.from_iterable(lists))
Run Code Online (Sandbox Code Playgroud)

  • 虽然我认为首选看起来更好。使用itertools的速度更快。这个答案很好。 (3认同)
  • 第一个看起来不错。但对我来说,很难弄清楚什么变量会去哪里。 (2认同)
  • @Aidis 对于你或任何其他也感到困惑的人来说:最好的记住方式是从 `for` 开始,表达式的顺序与普通的嵌套 for 循环相同。 (2认同)

aki*_*ira 6

from itertools import chain

combined = [['hello'], ['world', 'foo', 'bar']]
single = [i for i in chain.from_iterable(combined)]
Run Code Online (Sandbox Code Playgroud)