太多值无法在字典键值迭代中解压
too many values to unpack on dictionary key value iteration
出现错误要解压的值太多。谁能帮我解决一下?
friendship = {'nino': ["tamari", "nika", "lela", "dato"],
'dato': ["tamari", "nino"],
'tamari': ["nino", "dato", "lela"],
'nika': ["nino"],
'lela': ["nino", "tamari"]
}
def f(**friendship):
sia={}
for i in friendship.values():
m = min(i)
for k,v in friendship.items():
sia.update({k:(len(v))})
low = min(sia.values())
res = [x for x,y in sia if sia.items() if y == low]
print(str(res) + " has " + str(low) + " friends") ------ getting an error on this line.
print (f(**friendship))
问题是在 x,y in sia
解包让 key/value 使用 items()
并删除无用的 if
,像这样
[x for x, y in sia.items() if y == low]
另外你可以删除两个地方的**
运算符,因为它没用你直接传递一个dict,它会导致数据变平,然后打包再次在方法
出现错误要解压的值太多。谁能帮我解决一下?
friendship = {'nino': ["tamari", "nika", "lela", "dato"],
'dato': ["tamari", "nino"],
'tamari': ["nino", "dato", "lela"],
'nika': ["nino"],
'lela': ["nino", "tamari"]
}
def f(**friendship):
sia={}
for i in friendship.values():
m = min(i)
for k,v in friendship.items():
sia.update({k:(len(v))})
low = min(sia.values())
res = [x for x,y in sia if sia.items() if y == low]
print(str(res) + " has " + str(low) + " friends") ------ getting an error on this line.
print (f(**friendship))
问题是在 x,y in sia
解包让 key/value 使用 items()
并删除无用的 if
,像这样
[x for x, y in sia.items() if y == low]
另外你可以删除两个地方的**
运算符,因为它没用你直接传递一个dict,它会导致数据变平,然后打包再次在方法