Alan_laye 2022-11-07 23:35 采纳率: 50%
浏览 13
已结题

为什么遍历列表的运行结果会出现四次呢?

您好,在做python基础教程中 ‘历嵌套有字典的列表’练习 时遇到了一个问题:
我希望通过两个for遍历列表,但是为什么运行结果会重复四次呢?

原代码:
alanlaye = {'f_n':'alan','l_n':'laye','age':19,'city':'tokyo'}
izakkull = {'f_n':'izakku','l_n':'ll','age':17,'city':'beijing'}
alexhers = {'f_n':'alex','l_n':'hers','age':21,'city':'marchtown'}
people = [alanlaye,izakkull,alexhers]
for peo in people:
for k,v in peo.items():
print('Full name = '+peo['f_n']+person['l_n'])
print('Age = '+str(peo['age']))
print('City = '+peo['city'])

运行结果及报错内容:
Full name = alanlaye
Age = 19
City = tokyo
Full name = alanlaye
Age = 19
City = tokyo
Full name = alanlaye
Age = 19
City = tokyo
Full name = alanlaye
Age = 19
City = tokyo
Full name = izakkull
Age = 17
City = beijing
Full name = izakkull
Age = 17
City = beijing
Full name = izakkull
Age = 17
City = beijing
Full name = izakkull
Age = 17
City = beijing
Full name = alexhers
Age = 21
City = marchtown
Full name = alexhers
Age = 21
City = marchtown
Full name = alexhers
Age = 21
City = marchtown
Full name = alexhers
Age = 21
City = marchtown

我想要达到的结果:
每一项只出现一次就够了

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-11-08 00:27
    关注

    for k,v in peo.items():
    print('Full name = '+peo['f_n']+person['l_n'])
    print('Age = '+str(peo['age']))
    print('City = '+peo['city'])
    已经使用了 for k,v in peo.items(),为什么后面还要使用peo去调取字典?这样的话k和v完全没有用到,循环的次数等于字典的键值个数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月7日

悬赏问题

  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用
  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊