python - 合并列表列表

标签 python list merge list-comprehension python-itertools

如何合并列表列表?

[['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]

进入

['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']

如果我可以在合并列表之前在每个项目的开头和结尾添加一个值,比如 html 标签,那就更好了。

即,最终结果将是:

['<tr>A</tr>', '<tr>B</tr>', '<tr>C</tr>', '<tr>D</tr>', '<tr>E</tr>', '<tr>F</tr>', '<tr>G</tr>', '<tr>H</tr>', '<tr>I</tr>']

最佳答案

不要使用 sum(),它连接列表很慢。

取而代之的是 nested list comprehension将工作:

>>> x = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
>>> [elem for sublist in x for elem in sublist]
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
>>> ['<tr>' + elem + '</tr>' for elem in _]

使用建议itertools.chain也不错。

关于python - 合并列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895449/

相关文章:

python - 将 for 循环添加到列表中

arrays - SwiftUI 从列表中删除行

git - 如何在不关闭 pull 请求的情况下从 pull 请求 merge 到主控中

python - 你怎么知道广播消息来自哪个接口(interface)?

python - 我的数据清理脚本很慢,有什么改进的想法吗?

python - 根据 Pandas 中列的值删除行

python:从列表中创建元组列表

python - mpatches.FancyArrowPatch 太短

arrays - 在 R 中合并两个数组

Git - 每个分支的不同远程