为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

青春有我 2021-03-12 13:10:37
我有以下代码:timeLS1 = 0.1timeLS2 = 0.2timeLS3 = 0.15timeLS4 = 0.5timeLS5 = 0.4timeLS6 = 0.3timeLSv = (timeLS1, timeLS2, timeLS3, timeLS4, timeLS5, timeLS6)timeLS = max(timeLSv)print timeLSindex_max = timeLSv.index(timeLS)print index_max我想获得最大值(timeLS)以及timeLS1, ...., timeLS6对应于最大值的变量()的名称。什么是最简单的方法(而不是在获取之后循环执行if index_max)?
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

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


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


希望能有所帮助。


查看完整回答
反对 回复 2021-03-27
  • 1 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信