我有一个功能:
def store(word, info_list):
for a, b, c, in info_list:
data = {}
...
我正在打电话:
store(x[0],x[1])
哪里
x = (u'sergeev', (u'2015 afc asian cup group b',
(u'2015 afc asian cup group b', u'sergeev', 372.57022256331544), 0.22388357256778307))
我的目标是:
a=u'2015 afc asian cup group b'
b=(u'2015 afc asian cup group b', u'sergeev', 372.57022256331544)
c=0.22388357256778307
但我得到了
in store
for a,b,c, in info_list:
ValueError: too many values to unpack
我无法找到不匹配的地方......任何人都可以帮助我吗?
答案 0 :(得分:1)
而不是使用for
循环,只需解压缩元素。
def store(word, info_list):
a, b, c = info_list
x[1]
(您传递给函数的值)基本上是简单元组。简单地解压缩值就足够了。
当你有一个元组元组时,你可以使用for
循环。看看下面的例子:
>>> a = ((1, 2), (2, 3), (3, 4))
>>> for i, j in a:
... print i, j
1 2
2 3
3 4
答案 1 :(得分:0)
我不需要循环,为什么不像这样分配它:
def store(word, info_list):
a, b, c = info_list[0], info_list[1], info_list[2]