Рубрики

Python | Разделить элементы списка по суффиксу

Иногда нам нужно отфильтровать список по последнему символу каждой строки в списке. Этот тип задач имеет много применений в повседневном программировании и даже в конкурентной области программирования. Давайте обсудим некоторые способы выполнения этой задачи.

Способ № 1: Использование понимания списка + endswith()

В этом методе мы используем осмысление списка для логики обхода и метод заканчивается, чтобы отфильтровать все строки, заканчивающиеся конкретной буквой. Левые строки могут быть использованы для создания другого списка.

# Python3 код для демонстрации
# Сегрегирование по суффиксу
# Использование списка понимания + endwith ()

  
# инициализирующий список

test_list = ['apple', 'oranges', 'mango', 'grapes']

  
# инициализация конечного суффикса

end_letter = 's'

  
# печать оригинального списка

print("The original list : " + str(test_list))

  
# использование списка понимания + endwith ()
# Сегрегирование по суффиксу

with_s = [x for x in test_list if x.endswith(end_letter)]

without_s = [x for x in test_list if x not in with_s]

  
# результат печати

print("The list without suffix s : " + str(without_s))

print("The list with suffix s : " + str(with_s))

Выход :

The original list : ['apple', 'oranges', 'mango', 'grapes']
The list without suffix s : ['apple', 'mango']
The list with suffix s : ['oranges', 'grapes']

Способ № 2: Использование filter() + lambda + endwith()

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

# Python3 код для демонстрации
# Сегрегирование по суффиксу
# Использование filter () + endwith () + lambda

  
# инициализирующий список

test_list = ['apple', 'oranges', 'mango', 'grapes']

  
# инициализация конечного суффикса

end_letter = 's'

  
# печать оригинального списка

print("The original list : " + str(test_list))

  
# используя filter () + endwith () + lambda
# Сегрегирование по суффиксу

with_s = list(filter(lambda x: x.endswith(end_letter), test_list))

without_s = list(filter(lambda x: not x.endswith(end_letter), test_list))

  
# результат печати

print("The list without suffix s : " + str(without_s))

print("The list with suffix s : " + str(with_s))

Выход :

The original list : ['apple', 'oranges', 'mango', 'grapes']
The list without suffix s : ['apple', 'mango']
The list with suffix s : ['oranges', 'grapes']

Рекомендуемые посты:

Python | Разделить элементы списка по суффиксу

0.00 (0%) 0 votes