比较存储在变量中的值,然后打印变量名称

时间:2017-10-25 09:25:37

标签: python

我尝试使用max代码,但它打印出的数字最大而不是变量名。

a=3
b=4
c=7
d=6
e=8

max(a,b,c,d,e)

这是我尝试过的代码,但它打印的是8而不是e。 忘了添加我的b c等值来自循环,所以我不想自己知道自己的价值......

3 个答案:

答案 0 :(得分:2)

你需要使用字典或命名元组来做类似的事情。

>>> my_list = {'a': 1, 'b': 2, 'c': 3}
>>> max(my_list, key=my_list.get)
'c'

如果有其他方法,请告诉我。

答案 1 :(得分:0)

试试这个

class Lessons extends Model
{
    public function subject()
    {
           //                                  your foreign key
         return $this->belongsTo('Lea\Subjects', 'subject_id');
    }

    public function category()
    {
    return $this->belongsTo('Lea\Category');
    }

}

答案 2 :(得分:0)

this question开始,似乎有办法检索变量的名称(请在使用前请参阅下面的警告):

a = 3
b = 4
c = 7
d = 6
e = 8

m = max(a, b, c, d, e)

for k, v in list(locals().items()):
    if v is m:
        v_as_str = k
        break

v_as_str

输出:

'e'
  

警告:

     

如果您可以确定没有其他(不相关的)变量具有与a到e的最大值相同的值,则此可能有效   在代码中的某个地方,并在本地人的早期出现。   感谢@ D.Everhard& @ason​​gtoruin在评论中