为了账号安全,请及时绑定邮箱和手机立即绑定

python: for i,j in [1, 2] 报错,而 for i,j in [(1, 2)] 却可以,请问是什么原因,区别在哪?

python: for i,j in [1, 2] 报错,而 for i,j in [(1, 2)] 却可以,请问是什么原因,区别在哪?

杨__羊羊 2019-04-08 11:18:42
问题代码如下In[9]:map.append(('1','2'))In[10]:fori,jinmap:....:printi,j....:12In[15]:list=[1,2]In[16]:fori,jinlist:....:printi,j....:---------------------------------------------------------------------------TypeErrorTraceback(mostrecentcalllast)in()---->1fori,jinlist:2printi,j3TypeError:'int'objectisnotiterable请问各位朋友其中设计到什么细节,从文导致两种不同的结果?
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

fori,jin[1,2]迭代到的第一个值是1,不能把1解包给i,j.因为1不是可迭代的fori,jin[(1,2)]迭代到的第一个值是(1,2),可以解包给i,j
                            
查看完整回答
反对 回复 2019-04-08
?
跃然一笑

TA贡献1826条经验 获得超6个赞

for语法遍历[1,2],第一次拿到的是1,1不可再解包给i,j两个变量,
fori,jin[[1,2],[2,3]]:
print(i,j)
这样就可以了
区别就在于[1,2]遍历的元素是单个数字,而[(1,2)]的元素是一个元组,可解包
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 461 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号