Найти - Пользователи
Полная версия: Генераторы списков.
Начало » Python для новичков » Генераторы списков.
1
Yott
def funk(a):
return a >=  0
a = [10,-20,3,55,-35,0,7]
a = [ i for i in a if funk(i)]    # Удаляем  отрицательные элементы.
print(a)
Я не понимаю зачем два раза указывать счётчик в генераторе
a = [i for i
Shaman
[что сделать с полученным for откуда и что взять]
В представленном случае делать ничего не нужно, потому значение передаётся без изменений. А для фильтрации более подходит filter.
plusplus
Yott
Я не понимаю зачем два раза указывать счётчик в генераторе
Вдруг тебе захочется что-то сделать с i, например каждое значение увеличить на 5:
a = [ i+5 for i in a if funk(i)]
Yott
Спасибо вам, помогли, и даже с примером.
Кстати, а функции zip,map,filter я как раз сегодня изучал.
Код в Питоне действительно компактнее и понятней чем скажем в Си, я про сортировку массивов.
dimy44
Я извиняюсь за брюзжание, но зачем там функция func, это лишние затраты да и вообще, ведь логичнее сразу написать … if i >= 0
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