我有以下清单:
mylist1 = ["peru", "germany", "japan"]
mylist2 = [["lima","cusco"], ["berlin","munich"], ["tokyo"]]
mylist3=[[1,2],[3,4],[5]]
我想打印
peru
lima
1
cusco
2
germany
berlin
3
munich
4
japan
tokyo
5
一个 zip 命令如下所示:
list=list(zip(mylist1,mylist2,mylist3))
for country,cities,nums in list:
print(country)
for city in cities:
print(city)
for num in nums:
print(num)
但是正如你所猜测的,它不会输出我想要的内容。所以我想到了双拉链
list = list(zip(mylist1,zip(mylist2,mylist3)))
,然后
for country,info in list:
print(country)
for city,num in info:
print(city)
print(num)
但这不起作用。我确实需要 2 个 for 循环。一个用于国家/地区,第二个用于处理其他信息。
您可以总共使用三个 zip 来完成此操作,尽管如果您使用带有枚举的索引(假设列表具有相同的长度),则可以以更简单的方式完成此操作:
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)