List 在Jinja2中合并多个列表

List 在Jinja2中合并多个列表,list,jinja2,nested-lists,List,Jinja2,Nested Lists,在Jinja2中,有没有办法将多个列表合并到一个列表中 例如,如果我有: [['foo', 'moo'],['py','jinga','template'],['example'],['stack','overflow']] 我希望得到: ['foo', 'moo','py','jinga','template','example','stack','overflow'] (我事先不知道列表中的列表数量。) 我已经尝试过使用join(),但它不起作用,因为我得到的是一个字符串,而不是一个字符

在Jinja2中,有没有办法将多个列表合并到一个列表中

例如,如果我有:

[['foo', 'moo'],['py','jinga','template'],['example'],['stack','overflow']]
我希望得到:

['foo', 'moo','py','jinga','template','example','stack','overflow']
(我事先不知道列表中的列表数量。)


我已经尝试过使用
join()
,但它不起作用,因为我得到的是一个字符串,而不是一个字符串列表。

如果您事先不知道子列表的数量,因为Jinja不允许,您可以做的是通过返回子列表,然后返回子列表

这不是一个完美的方法,但它确实起到了作用

{{ ([['foo', 'moo'],['py','jinga','template'],['example'],['stack','overflow']] | map('join','|||') | join('|||')).split('|||') }}

您可以使用
+
运算符连接列表:

['foo','moo'] + ['py','jinga','template'] + ['example'] + ['stack','overflow']
给予

+
将两个对象添加到一起。通常,对象是数字,但如果两者都是字符串或列表,则可以通过这种方式连接它们


来源:

如果您事先不知道子列表的数量,因为Jinja不允许,您可以通过备份子列表,然后将其备份

这不是一个完美的方法,但它确实起到了作用

{{ ([['foo', 'moo'],['py','jinga','template'],['example'],['stack','overflow']] | map('join','|||') | join('|||')).split('|||') }}

您可以使用
+
运算符连接列表:

['foo','moo'] + ['py','jinga','template'] + ['example'] + ['stack','overflow']
给予

+
将两个对象添加到一起。通常,对象是数字,但如果两者都是字符串或列表,则可以通过这种方式连接它们


来源:

也许我的问题问得不好,但我真正的问题是能够将
+
操作符应用于我事先不知道的许多列表。map()函数不是有一个解决方案吗?非常感谢@博特罗先生,我明白了,我为此添加了一个解决方案,虽然可能不是完美的。也许我的问题问得不好,但我真正的问题是能够将
+
运算符应用于我事先不知道的许多列表。map()函数不是有一个解决方案吗?非常感谢@博特罗先生,我明白了,我为这个问题添加了一个解决方案,虽然可能不是完美的解决方案。