python – ValueError:要解压缩的值太多
发布时间:2020-12-20 13:01:16 所属栏目:Python 来源:网络整理
导读:为什么这段代码错了? for i,j in range(100),range(200,300): print i,j 当我测试这个语句时,我看到了这个错误 ValueError: too many values to unpack 但是当我测试的时候 for i,j in range(2),range(2): print i,j 一切都是正确的! 解决方法 range(2)给
为什么这段代码错了?
for i,j in range(100),range(200,300): print i,j 当我测试这个语句时,我看到了这个错误
但是当我测试的时候 for i,j in range(2),range(2): print i,j 一切都是正确的! 解决方法
range(2)给出一个列表[0,1].因此,您的i,j将从第一个列表中获取,然后从第二个列表中获取.
所以,你的循环类似于: – for i,j in [0,1],[0,1]: print i,j 印刷品: – 0 1 0 1 现在,如果你有range(3),那么它将失败,因为,range(3)给出了一个3元素列表,它不能在两个循环变量中解包. 所以,你做不到: – for (i,j) in [[0,1,2]]: print i,j 它会失败,给你错误. 尝试使用zip,将两个列表压缩成一个: – >>> for (i,j) in (zip(range(2),range(3))): print i,j 0 0 1 1 >>> 在上面的情况下,zip会将您的列表转换为包含2个元素的元组列表,因为您正在压缩2个列表. >>> zip(range(2),range(3)) [(0,0),(1,1)] 同样,如果您压缩三个列表,您将获得3元素元组的列表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |