List 在Jinja2中合并多个列表
在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(),但它不起作用,因为我得到的是一个字符串,而不是一个字符
[['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()函数不是有一个解决方案吗?非常感谢@博特罗先生,我明白了,我为这个问题添加了一个解决方案,虽然可能不是完美的解决方案。