在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
正确的方法是什么?
答案 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