Size: a a a

Сообщество Python Программистов

2020 October 31

VA

Vadim Apenko in Сообщество Python Программистов
Егор Овчинников
Всем привет! Как можно интервалу назначить определенное значение?
Есть интервалы возрастов и нужно эти интервалы заменить на сопоставимое значение. Например:
0-16.0 =1;
16.0-25.0=2 и т. д.?
dict = {range(0,16): 1}
Если я верно понял
источник

А

Айван in Сообщество Python Программистов
Vadim Apenko
dict = {range(0,16): 1}
Если я верно понял
О, а range тоже хешируемый? Я думал tuple предложить
источник

ЕО

Егор Овчинников... in Сообщество Python Программистов
Правильно. Но это нужно сделать для датафрейма
источник

VA

Vadim Apenko in Сообщество Python Программистов
Айван
О, а range тоже хешируемый? Я думал tuple предложить
Да
источник

AT

Alexander T in Сообщество Python Программистов
все равно нужно дописывать костыль, чтоб заменять значение
источник

AT

Alexander T in Сообщество Python Программистов
class RangeMap(dict):
   def __getitem__(self, value):
       for k, v in self.items():
           if k[0] <= value < k[1]:
               return v
               
range_map = RangeMap({(0, 16): 1, (16, 25): 2})
print(range_map[7], range_map[20.5])
источник

E

Egor in Сообщество Python Программистов
есть функция
def jopa(f):
   def innerjopa():
       ...
   return innerjopa


вопрос такой: почему jopa(f) и innerjopa имеют разные ссылки?
источник

AT

Alexander T in Сообщество Python Программистов
Egor
есть функция
def jopa(f):
   def innerjopa():
       ...
   return innerjopa


вопрос такой: почему jopa(f) и innerjopa имеют разные ссылки?
а почему они должны быть одинаковыми?
источник

E

Egor in Сообщество Python Программистов
Alexander T
а почему они должны быть одинаковыми?
jopa(f) возвращает иннержопу, так что мне казалось, что они с иннержопой должны иметь одинаковые ссылки
источник

AT

Alexander T in Сообщество Python Программистов
Egor
jopa(f) возвращает иннержопу, так что мне казалось, что они с иннержопой должны иметь одинаковые ссылки
это две функции, почему они должны быть одним объектом? как бы это работало? внешняя возвращает внутреннюю при вызове, а не является ей.
источник

E

Egor in Сообщество Python Программистов
Alexander T
это две функции, почему они должны быть одним объектом? как бы это работало? внешняя возвращает внутреннюю при вызове, а не является ей.
все еще не особо понимаю суть, я же все таки сравниваю ссылку вызванной функции, а не просто функции
источник

AT

Alexander T in Сообщество Python Программистов
Egor
все еще не особо понимаю суть, я же все таки сравниваю ссылку вызванной функции, а не просто функции
не “ссылку вызванной функции”, а “ссылку на значение, которое отдала вызванная функция"
источник

AT

Alexander T in Сообщество Python Программистов
def f():
   return 5

у 5 и f должна быть одинаковая ссылка?
источник

E

Egor in Сообщество Python Программистов
угу
источник

E

Egor in Сообщество Python Программистов
нет, тут ты сравниваешь 5 и функцию, которая это значение возвращает
источник

AT

Alexander T in Сообщество Python Программистов
и ты
источник

AT

Alexander T in Сообщество Python Программистов
5 is f()
что не так? )
источник

E

Egor in Сообщество Python Программистов
опять же, я изначально написал jopa(f), имея в виду, что я вызвал jopa с аргументом f
источник

E

Egor in Сообщество Python Программистов
Alexander T
5 is f()
что не так? )
ну, тут то True будет, кстати)
источник

AT

Alexander T in Сообщество Python Программистов
Egor
ну, тут то True будет, кстати)
и у тебя на скрине тру
источник