【发布时间】:2014-02-23 07:05:55
【问题描述】:
我想遍历元素 ((a,b),(x,y)),所以我尝试了:
def method(tuple):
((a,b),(x,y))= tuple
for element in tuple:
.....
但后来我阅读了另一个 stackoverflow 页面,其中提出了这样的建议:
def method(tuple):
((a,b),(x,y))= tuple
for element in tuple[0:4]:
.....
两者都导致错误:ValueError: need more than 1 value to unpack.
这个动作在 python 中是不允许的,还是我只是有语法问题? 我也检查了 python 文档。
感谢您的建议。
编辑
map = ((1,0),(3,2))
def count(map):
((a,b),(x,y))= tuple
inc=0
for element in tuple:
inc+=1
【问题讨论】:
-
请向我们展示您的实际代码和您使用的数据。
-
不清楚您要做什么。解包元组后,为什么需要迭代?但是,我认为这不是您的问题。错误“ValueError:需要超过 1 个值才能解压。”表示元组没有您期望的形式。它试图打破它,但失败了。我会确保数据实际上以您期望的形式出现(日志语句?)
-
我想访问每个元素,看看是否可以计算元组中有多少元素。但你是对的。我尝试移动一些断点并运行调试器,发现 map 不是我想的那样。