Задать вопрос
@flashdix

Как определить имя переменной передаваeмой в min(), max() в python?

Всем привет!

Есть переменные:
a = 0
b = 1
c = 2
d = 3

all = min(a, b, c, d)
print all
###############
вывод 0

Как мне теперь понять, что 0 это переменная с именем a?
  • Вопрос задан
  • 1119 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 5
@bbkmzzzz
Вам это не надо. Вы работаете с данными, а не с именами переменных.

Дичь, но это "то, что надо":
a = 0
b = 1
c = 2
d = 3

alls = min(a, b, c, d)

globs = globals().copy()
for i in globs:
  if id(globs[i]) == id(alls):
    print("имя переменной, у которой самый маленький int:", i)
    break

all - зарезервированное имя, не используйте его.
Ответ написан
Комментировать
@U235U235
d={'a':0, 'b':1, 'c':2, 'd':3}
print(min(d, key=d.get))
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
min, max и другие возвращают только минимальное значение, никак не название переменной с минимумом.
Можете просто определить свою переменную, обозначающую минимальное число
min_num = min(a,b,c,d)
Ответ написан
Комментировать
---------------------------------
Осторожно! Говнокод!
---------------------------------


l = locals()

print([i for i in l if l[i] == 0][0])
Ответ написан
Комментировать
@flashdix Автор вопроса
Пока ничего не подошло, задача вычислить минимальное число среди 4-х переменных и даллее пользоваться этой переменной в коде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы