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

如何不使用items()方法正确遍历并显示字典的键与对应值?

问题描述

希望不使用items()方法显示字典的键和对应值,预期输出格式如下:

1 cubed is 1
3 cubed is 27
5 cubed is 125
7 cubed is 343
9 cubed is 729

目前的代码如下:

numbers = [1,3,5,7,9]
cubes = {item:item**3 for item in numbers}
for key in cubes.keys():
    for val in cubes.values():
        print(f'{key} cubed is {val}')

请问如何修改代码以实现预期输出?

解决方法

你这段代码的问题在于嵌套了两层循环,这会导致每个键都和所有值逐一配对输出,完全不符合预期。只需要去掉内层循环,通过当前遍历到的键直接从字典中获取对应的值即可:

修改后的代码:

numbers = [1,3,5,7,9]
cubes = {item:item**3 for item in numbers}
for key in cubes.keys():
    print(f'{key} cubed is {cubes[key]}')

补充说明

  • 遍历字典的键时,每拿到一个key,用cubes[key]就能直接获取该键对应的立方值,不需要额外遍历所有值。
  • 这样每个键只会和自己对应的输出值配对一次,就能得到你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:09