例如:
d = {'frog':1,'dog':2,'mouse':3}x = ['frog','frog','mouse']result1 = d[x[0]]result2 = d[x]
result等于1但result2不可能:
TypeError Traceback (most recent call last)<ipython-input-124-b49b78bd4841> in <module> 2 x = ['frog','mouse'] 3 result1 = d[x[0]]----> 4 result2 = d[x]TypeError: unhashable type: 'List'
一种方法是:
result2 = []for s in x: result2.append(d[s])
这导致[1,1,3]但需要一个for循环.这对大型列表来说是最佳的吗?
解决方法 dict的键必须是可清除的,其中列表(例如x)不是,这就是为什么当你尝试使用x作为键来索引dict时你得到TypeError:unhashable类型:’List’错误的原因d.如果您尝试执行批量字典查找,则可以使用operator.itemgetter方法:
from operator import itemgetteritemgetter(*x)(d)
返回:
(1,3)总结
以上是内存溢出为你收集整理的简明的Python 3.x批量字典查找全部内容,希望文章能够帮你解决简明的Python 3.x批量字典查找所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)