让我们考虑一下(键,值)对的示例字典,如下所示:
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}
Run Code Online (Sandbox Code Playgroud)
在字典中的所有值中,90是最高的一个,我需要检索与之对应的密钥.
有什么方法可以完成这项工作.哪个是有效的,为什么?
注意:
键和/或值不符合字典的顺序.程序不断向空字典添加新(键,值)对.
max(value)可能有多个键Ex:上面的dict1应该返回['j','g']上面的dict2应该返回'j'
a)如果dict只有一个键对应max(value)那么结果应该只是一个字符串(即Key)b)如果dict有多个键对应max(value)那么结果应该是字符串列表( iekeys).
我希望从键的相应值中获取字典中第 x 大项。
例如,使用字典:
y = {'a':55, 'b':33, 'c':67, 'd':12}
Run Code Online (Sandbox Code Playgroud)
我希望能够轻松提取'b'为第三大键。
最初,当我只在出现前三个之后,我复制了字典,找到了最大值(例如,在字典中找到具有最大值的键?),从最大值中删除键,然后重新运行. 当寻找多个最高值时,这种方法似乎很麻烦。有没有一种简单的方法可以获取第 x 大项的相应键?
假设我有一本字典:
data = {'a':1, 'b':2, 'c': 3, 'd': 3}
Run Code Online (Sandbox Code Playgroud)
我想获得字典中的最大值。到目前为止,我一直在做:
max(zip(data.values(), data.keys()))[1]
Run Code Online (Sandbox Code Playgroud)
但我知道我可能会错过另一个最大值。解决这个问题的最有效方法是什么?
作为一个python新手,我有一本字典d:
d={'a':{'1':4,'2':6},'b':{'1':5,'2':10}}
Run Code Online (Sandbox Code Playgroud)
我需要为每个键('a','b')找到最高值的子键,并将它们捆绑在一个新词典中,newd,看起来像
newd={'a':'2', 'b':'2'}
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
我有一个表格的嵌套字典:
{'2015-01-01': {'time': '8', 'capacity': '5'},
'2015-01-02': {'time': '8', 'capacity': '7'},
'2015-01-03': {'time': '8', 'capacity': '8'} etc}
Run Code Online (Sandbox Code Playgroud)
使用dictreader从csv文件创建字典.我希望能够做的是返回容量的最大值.所以在这种情况下8.
我可以用:
for k,v in input_dict.items():
if temp_max < int(v['capacity']):
temp_max = int(v['capacity'])
Run Code Online (Sandbox Code Playgroud)
哪有效,但我想知道是否有更简洁的方法?我搜索并找到了提取与最大值相关的顶级键的方法,这当然不是我需要的.见下文:
max(input_dict, key=lambda v: input_dict[v]['capacity'])
Run Code Online (Sandbox Code Playgroud)
这将返回'2015-01-03',所以我想有一个简单的模型,上面的一个班轮将给我我需要的但是让我难过!
有任何想法吗?
我确信这很容易:
说我有以下字典:
foo = { a: 3, b: 10, c: 5 }
Run Code Online (Sandbox Code Playgroud)
获得价值10的最有效(也是最干净)的方法是什么?
谢谢
根据这个问题,有一种方法可以找到表示字典中最高值的键(在Python中) .我想尽管有点不同.
想象一下,我们有一本字典D,说:
D = {'a' : 1 , 'q' : 2, 'b' : 3, 'c': 2}
Run Code Online (Sandbox Code Playgroud)
我希望通过循环键的值来找到字典的最大值,每次比较两个键的值,然后"记住"表示局部变量中最高值的键.最后,我应该在D中找到密钥及其最大值.在这种情况下,我们应该有这样的东西:
compare('a', 'q') --> remember q
compare('q', 'b') --> remember b
compare('b', 'c') --> remember b
Run Code Online (Sandbox Code Playgroud)
最大键现在为'b',值为3.
但是如何比较for循环中键的值?我该怎么做:
for k,v in D.iteritems() :
if (dictitem) > (dictitem + 1) :
remember = dictitem
else :
remember = dictitem + 1
Run Code Online (Sandbox Code Playgroud)
但现在实际上有效吗?
在Python中我想找到具有重复项的字典中的最大值,例如:
my_dict = {1: 0, 12: 2, 36: 2, 24: 2, 33: 2, 4: 1}
Run Code Online (Sandbox Code Playgroud)
最大值是2.
我想找到36:2这个例子中最大值的最大值.
我有一本字典:D = {'N':5, 'S':0, 'W':6, 'E':1} 我想在D['N'] 和中 获取具有最大值的键D['S']。
例如,我尝试了代码, print(lambda k: max(k['N'], k['S'])(k=D.keys()))但它返回的lambda对象是这样的<function <lambda> at 0x000002C7B060C1E0>。虽然我想在输出中得到N。
需要帮忙。谢谢!