too many values to unpack

在python 中经常会用到这个操作,利用 zip(x,y) ,然后利用 for i,j in zip(x,y) 对不同对象一起遍历,实际上是对x,y中的每一个元素,将其压缩成一个数组。{tuple:2}.但是

可能会遇到 too many values to unpack 这种错误,或者其他的错误,比如 i 和 j 取出来不是我们想要的值。

对于第一种情况:这里意思是想使 X取C[0] y取C[1] z取C[2],但事与愿违,我们仔细分析一下。

 

或者这样的

 

 

 这两者区别在于对 C 取 第一个值的时候,我们取得的 C[0]  在图一里 C[0] 是4,图二是2,所以那种情况都不可能得到 xyz,3中情况,因此才有too much 或者enough两种错误情况

 想要达到我们的目的,我们可以这样改正

 

 

 在C外再加一个列表括号,这样之前的C内元素就变成了一个整体,然后按照要求可以取值。

附:

无论是列表还是元组,对所有可迭代容器,只要取出的每个元素都符合相同规范,那么我们就可以的利用 for 。。。in 。。。 这种形式进行遍历

 

posted @ 2020-10-23 20:26  浅尝辄止的游离  阅读(5600)  评论(0编辑  收藏  举报