在 Python 中,这段代码可以工作
mylist1 = ["peru", "germany", "japan"]
mylist2 = [["lima","cusco"], ["berlin","munich"], ["tokyo"]]
mylist3 = [[1,2], [3,4], [5]]
for country, (cities, numbers) in zip(mylist1, zip(mylist2, mylist3)):
print(country)
for city, number in zip(cities, numbers):
print(city)
print(number)
我能够打印我想要的内容:
peru
lima
1
cusco
2
germany
berlin
3
munich
4
japan
tokyo
5
但是在 Django 中我遇到了括号问题。在views.py中我可以设置
mylist=zip(mylist1, zip(mylist2, mylist3))
,所以我会有
{% for country, (cities, numbers) in mylist %}:
print(country)
{% for city, number in zip(cities, numbers) %}:
print(city)
print(number)
第一个 for 循环是我陷入困境的地方。我应该做什么来使用(城市,数字)。我认为括号不被接受。
python 方法不起作用
通过在声明 for 循环后立即拆分城市和数字,您实际上只是撤消了之前所做的压缩。如果你想继续你的方法,你应该将压缩的城市和数字放在一起,这样生成的 python 代码如下所示:
mylist1 = ["peru", "germany", "japan"]
mylist2 = [["lima","cusco"], ["berlin","munich"], ["tokyo"]]
mylist3 = [[1,2], [3,4], [5]]
for country, city-numbers in zip(mylist1, zip(mylist2, mylist3)):
print(country)
for city, number in city-numbers:
print(city)
print(number)
生成的 django html 将是:
{% for country, city-numbers in mylist %}:
{{ country }}
{% for city, number in city-numbers %}:
{{ city }}
{{ number }}
请注意,我将打印语句转换为双括号,因为这就是模板中输出变量的方式。