简明的Python 3.x批量字典查找

简明的Python 3.x批量字典查找,第1张

概述我有大量的字符串,我想转换为整数.在 Python 3.7中执行列表字典查找的最简洁方法是什么? 例如: d = {'frog':1, 'dog':2, 'mouse':3}x = ['frog', 'frog', 'mouse']result1 = d[x[0]]result2 = d[x] result等于1但result2不可能: TypeError 我有大量的字符串,我想转换为整数.在 Python 3.7中执行列表字典查找的最简洁方法是什么?

例如:

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批量字典查找所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存