Python ValueError,Tuple长度正确

时间:2014-02-27 19:14:44

标签: python tuples

我收到以下错误:

Traceback (most recent call last):
  File "C:/Users/user/Documents/Data Munger/new_munger.py", line 49, in <module>
    for a, b in temp_tuple:
ValueError: too many values to unpack (expected 2)

来自以下代码:

for key in d:
    for temp in d[key]:
        temp_tuple = (temp[0], [temp[i] for i in range(1, len(temp))])
        print(len(temp_tuple))
        e = defaultdict(list)
        for a, b in temp_tuple:
            e.setdefault(a, []).append(b)

print(len(temp_tuple))行在控制台中吐出2。我无法弄清楚为什么会出现这个错误。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您的for循环已经在temp_tuple上进行迭代。在第一个实例中,您尝试将temp[0]解包为ab。你打算做的可能是:

a, b = temp_tuple
e.setdefault(a, []).append(b)

答案 1 :(得分:0)

虽然temp_tuple的长度可能是2,但你想要temp_tuple中的每个ITEM都是2个项目(即长度为2个元组的元组)。