голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как сгенерировать список Python

Хочу вам показать генерацию списков Python хитрыми способами. Вся прелесть состоит в том, что генерация происходит внутри квадратных скобок []. Я часто использую условия if в генераторах. Вы можете смело применять генератор range внутри скобок. Списки созданные при помощи генераторов быстро собираются.


#!/usr/bin/python3

#список нечетных чисел от 1 до 99
arr = [c for c in range(1,100) if c % 2 != 0]
print(list(arr))
'''
вывод:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, \
31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,\
 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
'''

#список нечетных чисел от 2 до 98 при помощи генератора range
a = range(1,100)[::2]
print(list(arr))
'''
вывод:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, \
31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,\
 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
'''

#список четных чисел от 2 до 98
arr = [c for c in range(1,100) if c % 2 == 0]
print(list(arr))
'''
вывод:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, \
32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,\
 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
'''

#список символов без буквы о
arr = [c for c in 'больше нет буквы о в этом тексте )' if c != 'о']
print(list(arr))
'''
вывод:
['б', 'л', 'ь', 'ш', 'е', ' ', 'н', 'е', 'т', ' ', 'б', 'у', 'к', 'в', 'ы', \
' ', ' ', 'в', ' ', 'э', 'т', 'м', ' ', 'т', 'е', 'к', 'с', 'т', 'е', ' ', ')']
'''

#список символов без пробелов
arr = [c for c in ' везде гадкие пробелы    .  их надо удалить )  ' if c != ' ']
print(list(arr))
'''
вывод:
['в', 'е', 'з', 'д', 'е', 'г', 'а', 'д', 'к', 'и', 'е',\
 'п', 'р', 'о', 'б', 'е', 'л', 'ы', '.', 'и', 'х', \
'н', 'а', 'д', 'о', 'у', 'д', 'а', 'л', 'и', 'т', 'ь', ')']
'''
просмотры: 1938, уровень: лёгкий уровень, рейтинг: 4, дата: 2017-08-08 12:07:03
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP