让我们考虑一下(键,值)对的示例字典,如下所示:
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).
我有数据框,下面是它的样本数据.
Company Category Margin
SBI BK 34.5
PNB BK 39.5
UCO BANK BK 39.9
BANK BK 41.3
INDIAN BANK BK 42.3
DENA BANK BK 44.5
VIJAYA BANK BK 44.5
UNION BANK BK 47.6
CENTRAL BANK BK 49.8
INFOSYS IT 5.6
HCL TECH IT 5.9
TCS IT 6.9
CMC IT 12.6
TECHMAHINDRA IT 12.6
COGNIZANT IT 15.8
IGATE IT 22.4
WIPRO IT 22.9
HEXAWARE IT 34.8
MAHINDRA SATYAM IT 34.8
DR. REDDYS PH 14.5
SUN PHARMA PH 19.2
CIPLA PH 23.9 …Run Code Online (Sandbox Code Playgroud) 我有一个带有学生姓名和标记的字典
dict1 = {'name1': 34, 'name2':45, 'name3': 98, 'name4':34, 'name5': 66}
Run Code Online (Sandbox Code Playgroud)
我希望获得前10名学生的名字以及上述词汇中的分数.
结果:
name3 98
name5 66
name2 45
name1 34
name4 34
Run Code Online (Sandbox Code Playgroud)
如果多个键具有相同的值,则键必须按字母顺序排列(例如:name1和name4按字母顺序排列,相同值为34)
如何完成它?
以下是名为df的格式化数据框.
Company Category Margin Ranking
SBI BK 34.5 1
PNB BK 39.5 2
UCO BANK BK 39.9 3
BANK BK 41.3 4
INDIAN BANK BK 42.3 5
DENA BANK BK 44.5 6
VIJAYA BANK BK 44.5 7
UNION BANK BK 47.6 8
CENTRAL BANK BK 49.8 9
INFOSYS IT 5.6 1
HCL TECH IT 5.9 2
TCS IT 6.9 3
CMC IT 12.6 4
TECHMAHINDRA IT 12.6 5
COGNIZANT IT 15.8 6
IGATE IT 22.4 7
WIPRO IT 22.9 8 …Run Code Online (Sandbox Code Playgroud)