猿问

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

我有以下代码:


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


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


青春有我
浏览 284回答 1
1回答

MMTTMM

不知道这是否是最好的方法,但是看起来不错:timeLS1 = 0.1timeLS2 = 0.2timeLS3 = 0.15timeLS4 = 0.5timeLS5 = 0.4timeLS6 = 0.3data = {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词典。希望能有所帮助。
随时随地看视频慕课网APP

相关分类

Python
我要回答