python - 获取列表中最大值对应的变量名称

标签 python list max

我有这个代码:

timeLS1 = 0.1
timeLS2 = 0.2
timeLS3 = 0.15
timeLS4 = 0.5
timeLS5 = 0.4
timeLS6 = 0.3
timeLSv = (timeLS1, timeLS2, timeLS3, timeLS4, timeLS5, timeLS6)
timeLS = max(timeLSv)
print timeLS
index_max = timeLSv.index(timeLS)
print index_max

我想获取最大值 (timeLS) 以及与最大值对应的变量名称 (timeLS1, ...., timeLS6)。

执行此操作的最简单方法是什么(而不是在获取 index_max 后执行 if 循环)?

谢谢

最佳答案

不确定这是否是最好的方法,但看起来不错:

timeLS1 = 0.1
timeLS2 = 0.2
timeLS3 = 0.15
timeLS4 = 0.5
timeLS5 = 0.4
timeLS6 = 0.3

data = {key: value for key, value in locals().iteritems() if 'timeLS' in key}

key, value = max(data.iteritems(), key=lambda x: x[1])
print key, value  # prints 'timeLS4 0.5'

您可能还想避免创建额外的data字典。

希望有帮助。

关于python - 获取列表中最大值对应的变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760914/

相关文章:

MySQL MAX 函数用于不使用 GROUP BY 子句的类别

C#使用linq查找字符串的最大值

python - 从具有给定步幅/步长的 numpy 数组中获取子数组

python - 在单个操作中使用二进制列表拆分 numpy 数组

python - 在 jupyter 笔记本上显示 plotly

list - 我的递归列表构造有什么问题?

python - 如何在 Python 中使用 BeautifulSoup 从 div 获取对象?

java - List<String> 作为 GET 方法的输入

c# - 将List<object>转换为List<complex>,其中complex是用户定义的类型

r - 匹配两个数据框并取最大值