and
и or
возвращают последний элемент, который они вычислили, но почему Python не встраивает -в функцию any
?
Я имею в виду, что довольно легко реализовать себя таким образом, но я все еще не понимаю, почему.
def any(l):
for x in l:
if x:
return x
return x
изменить:
Чтобы добавить к ответам ниже, вот актуальная цитата из того же списка рассылки о вас, могущественный император, по вопросу:
Всегда ли возвращать True и False или первое faling/passing элемент? Я тоже играл с этим перед ведением блога и понял, что end case (если последовательность пуста или все элементы не прошли тест )никогда нельзя заставить работать удовлетворительно :аргумент представляет собой итерацию логических значений, и выбор False кажется странным, если аргумент представляет собой итерацию не -логических объектов.
Гвидо ван Россум (домашняя страница:http://www.python.org/~guido/)