ValueError:要在列表中解压缩的值太多

时间:2017-10-12 21:18:07

标签: python

在python中我有一个如下所示的列表

in_list =[u'test_1,testing_1', u'test_2,testing_2', u'test_3,testing_3']

我想在循环中打印此列表中的值

for test, testing in input:
    print test, testing

我收到此错误:

ValueError: too many values to unpack

正确的方法是什么?

1 个答案:

答案 0 :(得分:2)

右侧有三个值列表;你左边只有两个变量。将序列(在您的情况下为列表)分配给一系列变量称为“解包”。您必须在值和变量之间具有1:1的对应关系才能使其正常工作。

我认为你要做的是迭代逗号分隔的值对。尝试类似下面的代码。迭代输入列表中的三个字符串(使用不同的变量名称:输入是内置函数)。对于每个字符串,将其拆分为逗号。这会为您提供两个值的列表......以及您可以解压的

for pair in input_list:    # "input" is a built-in function; use a different name
    test, testing = pair.split(',')
    # continue with your coding