我有几个值,如下:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/nz/lib64"
export PATH="$PATH:/usr/local/nz/bin64"
export NETEZZA="/usr/local/nz"
export NZ_ODBC_INI_PATH="/etc"
我想找到最大值并打印值的NAME。 通常我会用
value_a = 5
value_b = 10
value_c = 20
但这只给了我价值,而不是名字。
答案 0 :(得分:7)
您需要创建dict
以使用值映射名称,而不是定义变量。然后,您需要将max()
operator.itemgetter()
作为key
致电my_dict = {
'value_1': 10,
'value_2': 30,
'value_3': 20
}
from operator import itemgetter
var_text, value = max(my_dict.items(), key=itemgetter(1))
# Value of:
# `var_text`: "value_2"
# `value`: 30
。例如:
max()
在此处,dict
将返回key
中具有最大值的元组。
如果您不关心最大值,并且只想让>>> max(my_dict, key=my_dict.get)
'value_2'
持有它,您可以这样做:
my_dict.items()
<强>解释强>
[(key, value), ..]
将以[('value_1', 10), ('value_3', 20), ('value_2', 30)]
格式返回元组列表。在我给出的例子中,它将保持:
key=itemgetter(1)
声明中的 max()
将告诉1
对列表中每个元组的索引//*[contains(@id,'price-including')]
执行最大操作。
答案 1 :(得分:1)
这个怎么样? :)
In [1]: the_dict = {'value_a':5, 'value_b':10, 'value_c':20}
In [2]: max(the_dict, key=the_dict.get)
输出:
Out[2]: 'value_c'
答案 2 :(得分:1)
您需要使用字典或命名元组。使用字典的示例如下
Python 3.4.3 (default, Sep 14 2016, 12:36:27)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> vdict={'value_a':5,'value_b':10,'value_c':20}
>>> max(vdict, key=vdict.get)
'value_c'
>>>
答案 3 :(得分:0)
为值创建一个字典,然后在print语句中调用此函数。
values = {
'value_1': 10,
'value_2': 30,
'value_3': 20
}
print (max(values, key=lambda i: values[i]))
输出:
value_2