实现函数consolid,该函数接受星号参数seqs
中的零个或多个序列,并返回一个字典,其键由在这些序列中找到的值组成,然后映射到数字,指示每个值在所有序列中出现的次数
例如consolidate([1,2,3], [1,1,1], [2,4], [1])
应该返回字典{1: 5, 2: 2, 3: 1, 4: 1}
我的代码:
def consolidate(*seqs):
d={}
for i in seqs:
for number in seqs:
d[number]=d.get(number,0)+1
return d
print(consolidate([1,2,3], [1,1,1], [2,4], [1]))
错误:TypeError: unhashable type
我怎样才能解决这个问题
您可以考虑使用这样的子类^{} ,^{} ,它是这样的用例:
输出:
您有一个输入错误,应该是
for number in i
而不是for number in seqs
。您当前正尝试将列表用作字典键最好调用
i
这样的东西seq
=>for seq in seqs
另外,调试时请尝试打印中间结果。它对于跟踪问题非常有用
相关问题 更多 >
编程相关推荐