太多值无法在字典键值迭代中解压

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,它会导致数据变平,然后打包再次在方法