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

Python匹配字典条目时报TypeError: 'int' object is not iterable如何解决

报错原因
  • 你代码中的results是x*y计算得到的整数,for i in results试图遍历整数对象,属于非法操作,直接触发了TypeError: 'int' object is not iterable报错。
  • 你的需求本身不需要循环:你要求用有序的(x,y)元组匹配字典键,不需要额外遍历任何对象。
修正后代码
scoremapDict = {(1, 1): 1, (1, 2): 2, (2, 1): 2, (1, 3): 3, (3, 1): 3, (1, 4): 4, (4, 1): 4, (2, 2): 4, (1, 5): 5,
  (5, 1): 5, (4, 2): 8, (2, 4): 8, (2, 3): 6, (3, 2):6, (3, 3): 9, (2, 5): 10, (5, 2):10, (3, 4): 12,
  (4, 3):12, (3, 5): 15, (5, 3): 15, (4, 4): 16, (4, 5): 20, (5, 4): 20, (5, 5): 25}

x = 5
y = 2
# 直接判断有序元组是否存在于字典键中
if (x, y) in scoremapDict:
    score = scoremapDict[(x,y)]
    print(f"High,对应评分为:{score}")
else:
    print("None")
逻辑说明
  • 字典的键本身就是有序元组,天然满足x、y的顺序需严格和字典键的元组顺序保持一致的需求,不需要额外对比乘积
  • 直接用(x,y) in 字典判断键是否存在,时间复杂度为O(1),比遍历操作效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:15:01