合并列表列表

2024-05-08 02:56:26 发布

您现在位置:Python中文网/ 问答频道 /正文

如何合并列表列表?在

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

进入

^{pr2}$

如果我能在合并列表之前在每个项目的开始和结束处添加一个值,比如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>']

Tags: 项目标记列表htmltrpr2
3条回答
import itertools

print [('<tr>%s</tr>' % x) for x in itertools.chain.from_iterable(l)]

您可以使用sum,但我认为这有点难看,因为您必须传递[]参数。正如雷蒙德所指出的,这也将是昂贵的。所以不要用sum。在

要连接列表,可以使用sum

values = sum([['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']], [])

要添加HTML标记,可以使用列表理解。在

^{pr2}$

不要使用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的建议也很好。在

相关问题 更多 >