【发布时间】:2013-05-10 06:54:28
【问题描述】:
让我们考虑(键,值)对的示例字典如下:
dict1 = {'a' : 10, 'x' : 44, 'f': 34, 'h':89, 'j': 90, 'd': 28, 'g' : 90}
dict2 = {'a' : 10, 'x' : 44, 'f': 34, 'h':89, 'j': 90, 'd': 28}
在字典中的所有值中,90 是最高的。我需要检索与其对应的一个或多个密钥。
有哪些可能的方法来完成这项工作?哪个是最有效的,为什么?
注意:
键和/或值不符合字典的顺序。程序不断向字典中添加新的(键、值)对。
-
max(value) 可能有多个键
a) 如果一个 dict 只有一个 key 对应于 max(value),那么结果应该只是一个字符串(即 Key)。示例:上面的 dict2 应该返回 'j'
b) 如果一个 dict 有多个与 max(value) 对应的键,那么结果应该是字符串列表(即键)。示例:上面的 dict1 应该返回 ['j', 'g']
【问题讨论】:
-
返回字符串或字符串列表似乎可能会导致以后不必要的分支。 90% 的情况下,你最好总是返回一个列表。
标签: python dictionary key