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

问题代码如下
In[9]:map.append(('1','2'))
In[10]:fori,jinmap:
....:printi,j
....:
12
In[15]:list=[1,2]
In[16]:fori,jinlist:
....:printi,j
....:
---------------------------------------------------------------------------
TypeErrorTraceback(mostrecentcalllast)
in()
---->1fori,jinlist:
2printi,j
3
TypeError:'int'objectisnotiterable
请问各位朋友其中设计到什么细节,从文导致两种不同的结果?
杨__羊羊
浏览 462回答 2
2回答

函数式编程

fori,jin[1,2]迭代到的第一个值是1,不能把1解包给i,j.因为1不是可迭代的fori,jin[(1,2)]迭代到的第一个值是(1,2),可以解包给i,j

跃然一笑

for语法遍历[1,2],第一次拿到的是1,1不可再解包给i,j两个变量,fori,jin[[1,2],[2,3]]:print(i,j)这样就可以了区别就在于[1,2]遍历的元素是单个数字,而[(1,2)]的元素是一个元组,可解包
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript