如何在 python 中创建列表的 zip 或 zip。我需要它来进行双 for 循环

问题描述 投票:0回答:1

我有以下清单:

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 循环。一个用于国家/地区,第二个用于处理其他信息。

python list zip
1个回答
0
投票

您可以总共使用三个 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)
© www.soinside.com 2019 - 2024. All rights reserved.