<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

В рамках курса даётся большое количество практических заданий, благодаря которым Вы не просто посмотрите курс, а действительно выполните ряд важнейших шагов, о которых в нём говорится.

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Фильтрация элементов последовательности в Python

Фильтрация элементов  последовательности в Python

Здравствуйте. В сегодняшней статье мы рассмотрим как отфильтровать данные из последовательности в Python. В качестве последовательности здесь используется список list.

Постановка задачи

Имеется последовательность чисел в списке Python. Необходимо отфильтровать список или уменьшить значения в нем, в соответствии с некоторым критерием.

Решение

Наиболее легким путем фильтрации данных из списка будет использование генератора списков.


mylist = [1, 4, -5, 10, -7, 2, 3, -1]


print([n for n in mylist if n > 0])

print([n for n in mylist if n < 0])

Обратная строна данного подхода в том, что генераторы списков загружают в память компьютера все данные. При больших объемах входных данных это может стать проблемой. В таком случае можно использовать выражение генератор, чтобы загружать данные в память порциями.



pos = (n for n in mylist if n > 0)

print(pos)
# <generator object <genexpr> at 0x000001987F0C5FC0> 

for x in pos:
  print(x)

Иногда критерии фильтрации сложно выразить в генетреторе списка или же в выражении генераторе. В качестве примера, предположим, что критерий фильтрации включает в себя обработку исключений или некоторых других сложных деталей. Для решения данной проблемы создадим пользовательскую функцию и используем фнутри нее встроенную функцию filter().



values = ['1', '2', '-3', '-', '4', 'N/A', '5']

def is_int(val):
 try:
   x = int(val)
   return True
 except ValueError:
   return False

ivals = list(filter(is_int, values))

print(ivals)

Функция filter() создает итератор, поэтому, если вы хотите создать список результатов, убедитесь, что вы также используйте list(), как показано.

Таким образом, генератор списка и генераторные выражения в Python, часто являются самыми простыми и понятными, способами фильтрации простых данных. Они также обладают дополнительной силой для преобразования данных.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.