python-3.x - 当我运行它时,它说“'int'类型的参数不可迭代”我该怎么做才能解决它?
问题描述
这是一个python代码。我正在解决一个问题,这只是该程序的一段代码?谁能帮我解决这个问题。我是初学者,请仔细解释。
def checking(p,q):
for i in range(0,3):
if q[i] == p[i]:
print('Match')
elif q[i] in p[i]:
print('Close')
else:
print('Nope')
p = [2,5,7]
q = [3,6,7]
checking(p,q)
我希望 Match 作为我的输出。但实际输出是 typeError: 'int' 类型的参数是不可迭代的
解决方案
你的问题是这一行:
elif q[i] in p[i]:
print('Close')
in
对可迭代的事物进行操作,例如列表和字典。在这里,您试图查看第一个列表中的项目是否是第二个列表中项目的一部分,这就是 python 抱怨的原因:两者q[i]
都是p[i]
整数,并且您尝试迭代第二个列表,就好像它是一个列表一样。
我认为这是一个错字,我建议:
elif q[i] in p:
print('Close')
推荐阅读
- python - Pyramid .bat 没有找到 PSERVE
- c# - 如何使用 AutoMapper 将集合从 UserModel 带到 PatientModel?
- c++ - 地图的查找功能有困难
- reactjs - 接收 Fetch API Post 调用的 JSON 内容
- dns - dig 返回错误的记录类型
- ios - iOS:从 UITextView 中提取检测到的数字和链接?
- r - 显示和动画谷歌热图?
- debugging - 尝试通过 gdb 设置断点时无法访问地址 0x10084 处的内存
- r - 修剪空格后R无法修复变音符号编码
- azure - 如何通过 Azure DevOps 部署逻辑应用代码?