"too many values to unpack" 遍历由元组索引的字典
"too many values to unpack" iterating over dictionary indexed by tuples
我正在尝试定义一个函数,该函数 Returns 来自字典 studentPerf 的键的数据元素列表(非常大,但我已经给出了前三项)与指定索引相关,其中每个可能的值只列出一次。例如,如果字典中的键是 [('John',2),('Julie',2),('John',3),('John',1),('Julie',1) ,('Julie',3)],那么这个函数应该 return ['John','Julie'] 对于索引 0,[1,2,3] 对于索引 1。
到目前为止我一直收到错误 "ValueError: too many values to unpack (expected 2)"
studentPerf = {('Jeffery','male','junior'):[0.81,0.75,0.74,0.8],
('Able','male','senior'):[0.87,0.79,0.81,0.81],
('Don','male','junior'):[0.82,0.77,0.8,0.8]}
def select(key, index):
for key, index in studentPerf.keys():
print(index)
select(0,1)
用于解包元组(此处为键..)您有 3 个值。但是,你只是解包成两个变量。也一样:
for (name, gender, year)
我不明白你的目的。
但是函数select的错误是:
- studentPerf.keys() return 具有 3 元组的可迭代对象
- 您的代码
for key, index in
只需解压两个项目
你应该:
for index0, index1, index2 in studentPerf.keys():
或
for key, *index in studentPerf.keys()
。这样索引将是一个二元组
我正在尝试定义一个函数,该函数 Returns 来自字典 studentPerf 的键的数据元素列表(非常大,但我已经给出了前三项)与指定索引相关,其中每个可能的值只列出一次。例如,如果字典中的键是 [('John',2),('Julie',2),('John',3),('John',1),('Julie',1) ,('Julie',3)],那么这个函数应该 return ['John','Julie'] 对于索引 0,[1,2,3] 对于索引 1。
到目前为止我一直收到错误 "ValueError: too many values to unpack (expected 2)"
studentPerf = {('Jeffery','male','junior'):[0.81,0.75,0.74,0.8],
('Able','male','senior'):[0.87,0.79,0.81,0.81],
('Don','male','junior'):[0.82,0.77,0.8,0.8]}
def select(key, index):
for key, index in studentPerf.keys():
print(index)
select(0,1)
用于解包元组(此处为键..)您有 3 个值。但是,你只是解包成两个变量。也一样:
for (name, gender, year)
我不明白你的目的。
但是函数select的错误是:
- studentPerf.keys() return 具有 3 元组的可迭代对象
- 您的代码
for key, index in
只需解压两个项目
你应该:
for index0, index1, index2 in studentPerf.keys():
或for key, *index in studentPerf.keys()
。这样索引将是一个二元组