合并列表的列表
如何合并列表列表?
[['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>']
How do I merge a list of lists?
[['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
into
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
Even better if I can add a value on the beginning and end of each item before merging the lists, like html tags.
i.e., the end result would be:
['<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>']
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不要使用 sum(),它连接列表的速度很慢。
相反,嵌套列表理解将起作用:
使用<的建议a href="http://docs.python.org/library/itertools.html#itertools.chain" rel="noreferrer">itertools.chain 也不错。
Don't use sum(), it is slow for joining lists.
Instead a nested list comprehension will work:
The advice to use itertools.chain was also good.
您可以使用 sum,但我认为这有点难看,因为您必须传递 [] 参数。正如雷蒙德指出的那样,它也将很昂贵。所以不要使用总和。
You can use sum, but I think that is kinda ugly because you have to pass the [] parameter. As Raymond points out, it will also be expensive. So don't use sum.
要连接列表,您可以使用
sum
要添加 HTML 标记,您可以使用列表理解。
To concatenate the lists, you can use
sum
To add the HTML tags, you can use a list comprehension.
使用
itertools.chain
:包装HTML 中的元素可以在之后完成。
请注意,如果您尝试生成有效的 HTML,您可能还需要 HTML 转义 字符串中的一些内容。
Use
itertools.chain
:Wrapping the elements in HTML can be done afterwards.
Note that if you are trying to generate valid HTML you may also need to HTML escape some of the content in your strings.