You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何用双层zip与嵌套循环实现指定列表输出格式?

问题解决:按对应关系打印国家、城市与数字

原始数据

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

问题分析

你之前的两次尝试都没命中核心逻辑:

  1. 第一次分开循环城市和数字,导致所有城市打印完才输出数字,破坏了城市与数字的对应关系;
  2. 第二次的双层zip结构错误,应该在每个国家的内部对城市列表和数字列表做配对,而非在外层打包时就嵌套zip。

正确实现代码

# 按国家维度打包三个列表的数据
country_data = list(zip(mylist1, mylist2, mylist3))

# 第一层循环:遍历每个国家的完整信息
for country, cities, nums in country_data:
    print(country)
    # 第二层循环:同时遍历当前国家的城市和对应数字,实现配对打印
    for city, num in zip(cities, nums):
        print(city)
        print(num)
    # 每个国家的内容打印完成后,输出空行分隔
    print()

逻辑说明

  • 外层zip(mylist1, mylist2, mylist3)将每个国家与其对应的城市列表、数字列表打包成一组,确保国家和下属数据的对应关系;
  • 内层zip(cities, nums)把当前国家的每个城市和对应的数字一一配对,循环打印就能实现“城市→数字”的连续输出;
  • 最后添加print()实现不同国家内容之间的空行分隔,完全匹配预期格式。

内容的提问来源于stack exchange,提问作者christian ortiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 21:43:20