Re[2]: [Python] Генераторы, min/max, пустая последовательнос
От: slava_phirsov Россия  
Дата: 05.04.10 10:45
Оценка:
Здравствуйте, Temoto, Вы писали:

T>И какой результат вы ожидаете от min от пустой последовательности? Пустой тупл?


Потому и "полный нонсенс". В конкретном случае ситуация, когда генератор создает пустую последовательность должна обрабатываться особо (в примере — да, пустой кортеж). Если бы к генератору можно было применить len(), то:

gen = foo(y)
if (len(gen)):
  x = min(gen)
else:
  x = ()


Но это не прокатит ни разу.

T>
T>try:
T>  x = min(foo())
T>except ValueError:
T>  x = ()
T>


T>К сожалению, она поймает не только ValueError max, но и любой другой ValueError, который могла кинуть, в т.ч. и функция foo.


Потому и было сказано, что это не есть хорошо.
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.