Найти - Пользователи
Полная версия: цикл for
Начало » Python для новичков » цикл for
1 2
asilyator
py.user.next
элемент сравнивается с самим собой
Это костылик, можно сделать так, чтобы в цикле итерировались элементы, начиная с первого. Зато не нужен доступ по индексу. Можно, конечно, написать так, но будет лишнее копирование массива.
prev = array[0]
for i in array[1:]:
    if prev > i:
        #...
    prev = i

fata1ex
FishHook, решение красивое, но слишком сложное :)
Привыкнув к ФП - вполне логично, только не очень эффективное.
fata1ex
asilyator
Привыкнув к ФП - вполне логично, только не очень эффективное.
ФП - это функциональное программирование? zip? И после таких фраз вы всерьёз придираетесь к строению модуля re и языка вцелом?
asilyator
Ну да, zip - это фп, а что? И при чем тут регекспы?
fata1ex
Видимо, я не понимаю чего-то. Объясните каким местом zip являет собой пример функционального подхода?
Вы про это что ли:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> zip(a, b)
[(1, 4), (2, 5), (3, 6)]
>>> map(None, a, b)
[(1, 4), (2, 5), (3, 6)]
?
asilyator
Ну таким же, как и map, reduce, filter.
fata1ex
Ну и каша же у вас в голове. Почитайте SICP (старый, со Scheme), хотя бы первые несколько глав. Или хотя бы это.
asilyator
fatalex, я “это” уже читал. Или обясни, где же у меня каша, или хватит воду баламутить.
fata1ex
Мда. Откуда столько самомнения и уверенности, что вы умнее всех?
>>> def myzip(a, b):
...     result = []
...     for idx in xrange(min(len(a), len(b))):
...         result.append((a[idx], b[idx]))
...     return result
...
>>> myzip([1,2,3], [4,5,6])
[(1, 4), (2, 5), (3, 6)]
У вас нет даже базовых знаний, что почему-то компенсируется гонором . Ужасно неприятно общаться с такими людьми.

И я, наверно, даже не удивлюсь, если вы, написав что-нибудь в этом роде, останетесь при своём мнении
>>> myzip = lambda *args: [ tuple(arg[idx] for arg in args) for idx in xrange(min([len(arg) for arg in args] or (0,))) ]
py.user.next
asilyator
Это костылик, можно сделать так, чтобы в цикле итерировались элементы, начиная с первого. Зато не нужен доступ по индексу. Можно, конечно, написать так, но будет лишнее копирование массива.
вот именно, что нужно создавать копию всего массива, либо вхолостую проверять первый элемент
причём эта холостая проверка может послужить источником ошибки
например, при замене знака на >=
asilyator
fata1ex
У вас нет даже базовых знаний, что почему-то компенсируется гонором . Ужасно неприятно общаться с такими людьми.
Ужасно приятно общаться со всякими снобами, которые при малейшем непонимании пытаются обосрать и обозвать нубом.
Я так и не пойму, что ты мне обьяснить-то пытаешься? Что zip не относится к ФП? ЧТО? А? Мычание с наездами на двух страницах.

py.user.next
вот именно, что нужно создавать копию всего массива, либо вхолостую проверять первый элемент
причём эта холостая проверка может послужить источником ошибки
например, при замене знака на >=
Можно и отмотать первый элемент. Зато в моем варианте не требуется индексируемость data.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB