2

我有这个代码:

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对应于最大值的变量 ( ) 的名称。

最简单的方法是什么(而不是在 get 之后执行 if 循环index_max)?

谢谢

4

1 回答 1

2

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

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字典。

希望有帮助。

于 2013-05-26T16:03:24.323 回答