我正在尝试定义一个函数,该函数从与指定索引相关的字典StudentPerf(非常大,但我给出了前三项)的键中返回数据元素的列表,其中每个可能的值是仅列出一次。例如,如果字典中的键为[['John',2),('Julie',2),('John',3),('John',1),('Julie',1) ,('Julie',3)],则此函数应为索引0返回['John','Julie'],并为索引1返回[1,2,3]。
到目前为止,我一直收到错误“ ValueError:太多值无法解包(预期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)
答案 0 :(得分:0)
解包元组(这里是键。)您有3个值。但是,您只需要分解成两个变量即可。也是这样:
for (name, gender, year)
答案 1 :(得分:0)
我不明白你的目的。
但是函数选择的错误是:
for key, index in
仅打开两个项目的包装您应该:
for index0, index1, index2 in studentPerf.keys():
或for key, *index in studentPerf.keys()
。这样索引将是2元组