相关疑难解决方法(0)

获取密钥对应于python dict中的max(value)

让我们考虑一下(键,值)对的示例字典,如下所示:

 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是最高的一个,我需要检索与之对应的密钥.

有什么方法可以完成这项工作.哪个是有效的,为什么?

注意:

  1. 键和/或值不符合字典的顺序.程序不断向空字典添加新(键,值)对.

  2. max(value)可能有多个键Ex:上面的dict1应该返回['j','g']上面的dict2应该返回'j'

    a)如果dict只有一个键对应max(value)那么结果应该只是一个字符串(即Key)b)如果dict有多个键对应max(value)那么结果应该是字符串列表( iekeys).

python dictionary key

6
推荐指数
2
解决办法
2万
查看次数

获取字典中的第 x 大项

我希望从键的相应值中获取字典中第 x 大项。

例如,使用字典:

 y = {'a':55, 'b':33, 'c':67, 'd':12}
Run Code Online (Sandbox Code Playgroud)

我希望能够轻松提取'b'为第三大键。

最初,当我只在出现前三个之后,我复制了字典,找到了最大值(例如,在字典中找到具有最大值的键?),从最大值中删除键,然后重新运行. 当寻找多个最高值时,这种方法似乎很麻烦。有没有一种简单的方法可以获取第 x 大项的相应键?

python dictionary python-2.7

5
推荐指数
1
解决办法
87
查看次数

如何在字典中获取多个最大键值?

假设我有一本字典:

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 python-2.7

5
推荐指数
2
解决办法
6425
查看次数

如何识别嵌套字典中的最高值键?

作为一个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)

实现这一目标的最佳方法是什么?

python

5
推荐指数
1
解决办法
609
查看次数

Python从嵌套字典中提取最大值

我有一个表格的嵌套字典:

 {'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',所以我想有一个简单的模型,上面的一个班轮将给我我需要的但是让我难过!

有任何想法吗?

python dictionary

4
推荐指数
1
解决办法
3209
查看次数

dict中最大值的关键

这给出了dict中的最大值,但是如何获得最大值的dict键?

max([d[i] for i in d])
Run Code Online (Sandbox Code Playgroud)

python python-3.x

3
推荐指数
1
解决办法
4343
查看次数

从字典中获取最大值

我确信这很容易:

说我有以下字典:

 foo = { a: 3, b: 10, c: 5 }
Run Code Online (Sandbox Code Playgroud)

获得价值10的最有效(也是最干净)的方法是什么?

谢谢

python python-2.7

3
推荐指数
1
解决办法
7032
查看次数

如何通过比较值找到字典中的最大值?

根据这个问题,有一种方法可以找到表示字典中最高值的键(在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 max python-2.7

3
推荐指数
1
解决办法
2627
查看次数

在重复值的情况下,查找字典中最大键的最大值的键

在Python中我想找到具有重复项的字典中的最大值,例如:

my_dict = {1: 0, 12: 2, 36: 2, 24: 2, 33: 2, 4: 1}
Run Code Online (Sandbox Code Playgroud)

最大值是2.

我想找到36:2这个例子中最大值的最大值.

python dictionary max

3
推荐指数
1
解决办法
84
查看次数

获取某些值中字典中最大值的键

我有一本字典: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。

需要帮忙。谢谢!

python lambda dictionary

2
推荐指数
1
解决办法
20
查看次数

标签 统计

python ×10

dictionary ×5

python-2.7 ×4

max ×2

key ×1

lambda ×1

python-3.x ×1