Python

Як фільтрувати список рядків у Python

Як фільтрувати список рядків у Python
Python використовує тип даних списку для зберігання кількох даних у послідовному індексі. Це працює як числовий масив інших мов програмування. метод filter () - дуже корисний метод Python. Одне або кілька значень даних можна відфільтрувати з будь-якого рядка, списку чи словника в Python за допомогою методу filter ().  Він фільтрує дані на основі будь-якої конкретної умови. Він зберігає дані, коли умова повертає true, і відкидає дані, коли повертає false. У цій статті на різних прикладах показано, як можна відфільтрувати рядкові дані у списку на Python. Вам доведеться використовувати Python 3+, щоб перевірити приклади цієї статті.

Відфільтруйте список рядків, використовуючи інший список

Цей приклад показує, як дані у списку рядків можуть бути відфільтровані без використання будь-якого методу. Список рядків фільтрується тут за допомогою іншого списку. Тут оголошено дві змінні списку з іменем список1 і список2. Значення список2 фільтрується за допомогою значень список1. Сценарій буде відповідати першому слову кожного значення список2 зі значеннями список1 і надрукуйте ті значення, яких не існує список1.

# Оголосіть дві змінні списку
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript є мовою сценаріїв на стороні клієнта' ',
'PHP - це мова сценаріїв на стороні сервера',
'Java - мова програмування',
'Bash - це мова сценаріїв']
 
# Фільтруйте другий список на основі першого списку
filter_data = [x для x у списку2 if
усі (y не в x для y в списку1)]
 
# Друк даних списку перед фільтром та після фільтра
print ("Зміст першого списку:", list1)
print ("Зміст другого списку:", list2)
print ("Вміст другого списку після фільтра:", filter_data)

Вихід:

Запустіть сценарій. Ось, список1 не містить слова 'Баш'. Вихідні дані містять лише одне значення з список2 це 'Bash - це мова сценаріїв '.

Відфільтруйте список рядків за допомогою іншого списку та користувацької функції

Цей приклад показує, як список рядків може бути відфільтрований за допомогою іншого списку та користувацької функції фільтра. Сценарій містить дві змінні списку з іменами list1 і list2. Функція спеціального фільтра визначає загальні значення обох змінних списку.

# Оголосіть дві змінні списку
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Оголосіть функцію фільтрації даних із першого списку
фільтр def (list1, list2):
повернути [n для n у списку1, якщо
будь-який (m в n для m у списку2)]
 
# Роздрукуйте дані списку перед фільтром та після фільтра
print ("Зміст list1:", list1)
print ("Зміст list2:", list2)
print ("Дані після фільтра", Filter (list1, list2))

Вихід:

Запустіть сценарій. Значення 90 та 12 існують в обох змінних списку. Наступний результат буде створений після запуску сценарію.

Відфільтруйте список рядків за допомогою регулярного виразу

Список фільтрується за допомогою всі () і будь-який () методи у попередніх двох прикладах. У цьому прикладі використовується регулярний вираз для фільтрування даних зі списку. Регулярний вираз - це шаблон, за яким будь-які дані можна шукати або збігати. "знову" Модуль використовується в python для застосування регулярних виразів у сценарії. Тут оголошено список із кодами предметів. Регулярний вираз використовується для фільтрації тих предметних кодів, які починаються зі слова, 'CSE'. '^'символ використовується в шаблонах регулярних виразів для пошуку на початку тексту.

# Імпортуйте модуль re, щоб використовувати регулярний вираз
імпортувати повторно
 
# Заявіть, що список містить код теми
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Оголосіть функцію фільтра
фільтр def (даталіст):
# Пошук даних на основі регулярних виразів у списку
return [val для val в даталісті
якщо повторно.пошук (r '^ CSE', val)]
# Роздрукуйте дані фільтра
друк (Фільтр (підрахунок))

Вихід:

Запустіть сценарій. підсписку змінна містить два значення, які починаються на 'CSE'. Наступний результат з’явиться після запуску сценарію.

Відфільтруйте список рядків, використовуючи вираз lamda

Цей приклад показує використання ламда вираз для фільтрації даних зі списку рядків. Тут вказана змінна списку search_word використовується для фільтрації вмісту з текстової змінної з іменем текст. Зміст тексту перетворюється у список із іменами, text_word на основі простору за допомогою розділити () метод. ламда вираз опускатиме ці значення з text_word які існують у search_word і зберігати відфільтровані значення у змінних, додаючи пробіл.

# Оголосіть список, що містить пошукове слово
search_word = ["Навчати", "Код", "Програмування", "Блог"]
# Визначте текст, у якому буде шукатись слово зі списку
text = "Вивчіть програмування на Python у блозі підказок Linux"
# Розділіть текст на основі пробілу та збережіть слова у списку
text_word = текст.розділити ()
# Використання лямбда-виразу фільтрує дані
filter_text = ".join ((filter (лямбда-вал: val not i
n search_word, text_word)))
# Друк тексту перед фільтруванням та після фільтрування
print ("\ nТекст перед фільтруванням: \ n", текст)
print ("Текст після фільтрування: \ n", filter_text)

Вихід:

Запустіть сценарій. Наступний результат з’явиться після запуску сценарію.

Відфільтруйте список рядків методом filter ()

filter () метод приймає два параметри. Перший параметр приймає ім'я функції або Жоден а другий параметр приймає ім'я змінної списку як значення. filter () метод зберігає ці дані зі списку, якщо він повертає true, інакше він відкидає дані. Ось, Жоден задається як перше значення параметра. Всі значення без помилковий буде отримано зі списку як відфільтровані дані.

# Оголосіть список даних міксу
listData = ['Привіт', 200, 1, 'Світ', False, True, '0']
 
# Виклик методу filter () із None та списком
filteredData = фільтр (Немає, listData)
 
# Роздрукуйте список після фільтрування даних
print ('Список після фільтрування:')
для val у відфільтрованих даних:
друк (val)

Вихід:

Запустіть сценарій. Список містить лише одне помилкове значення, яке буде пропущено у відфільтрованих даних. Наступний результат з’явиться після запуску сценарію.

Висновок:

Фільтрування корисно, коли вам потрібно шукати та отримувати певні значення зі списку. Сподіваюся, наведені вище приклади допоможуть читачам зрозуміти способи фільтрації даних зі списку рядків.

How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...