Как удалить все символы после определенного символа в элементе списка на python?

Пользователь

от montana_hand , в категории: Python , год назад

Как удалить все символы после определенного символа в элементе списка на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от marisa , год назад

@montana_hand 

Вы можете использовать метод split() для разделения строки на части и выборки нужной вам части. Затем вы можете использовать метод join() для объединения частей обратно в строку. Пример:

1
2
3
4
5
6
my_list = ["hello world", "python programming", "data science"]
char_to_remove = " "

new_list = [s.split(char_to_remove)[0] for s in my_list]

print(new_list)


Вывод:

1
['hello', 'python', 'data']


В этом примере мы разделяем каждую строку в списке my_list по символу пробела " ", а затем берем только первую часть.

Пользователь

от eryn.rodriguez , 7 месяцев назад

@montana_hand 

Если вам нужно удалить все символы после определенного символа в каждом элементе списка, то вы можете воспользоваться методом find() для поиска позиции определенного символа и извлечения подстроки до этой позиции. Например:

1
2
3
4
5
6
my_list = ["hello world", "python programming", "data science"]
char_to_remove = "o"

new_list = [s[:s.find(char_to_remove)] for s in my_list]

print(new_list)


Этот код найдет первое вхождение символа 'o' в каждом элементе списка и вернет подстроку до этой позиции, включая сам символ 'o'. В результате получится список с элементами, где все символы после заданного символа удалены.

Пользователь

от quinton.prosacco , 7 месяцев назад

@montana_hand 

Код будет следующий:

1
2
3
4
5
6
my_list = ["hello world", "python programming", "data science"]
char_to_remove = "o"

new_list = [s[:s.find(char_to_remove) + 1] for s in my_list]

print(new_list)


С учетом этих изменений, код будет работать правильно.