Python, как из списка удалить часть строки у каждого элемента?
Как мне сделать, чтобы только часть удалилась в каждом элементе?
Отслеживать
задан 24 мар 2021 в 17:21
147 1 1 серебряный знак 14 14 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Можно использовать списковое сокращение и функцию split :
image_list = ['image\\TestPh.jpg', 'image\\376ot.jpg', 'image\\3ugu.jpg', 'image\\inypf.jpg', 'image\\vqhxt.jpg', 'image\\wqfgb.jpg'] image_list = [x.split('\\')[1] for x in image_list] print(image_list)
['TestPh.jpg', '376ot.jpg', '3ugu.jpg', 'inypf.jpg', 'vqhxt.jpg', 'wqfgb.jpg']
Как удалить часть строки в питоне
Чтобы удалить часть строки, можно с помощью срезов собрать новую строку.
Есть что добавить? Зарегистрируйтесь
Курсы по программированию на Хекслете
Backend-разработка
Разработка серверной части сайтов и веб-приложений
Frontend-разработка
Разработка внешнего интерфейса сайтов и веб-приложений и верстка
Создание сайтов
Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails
Тестирование
Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP
Аналитика данных
Сбор, анализ и интерпретация данных на Python
Интенсивные курсы
Интенсивное обучение для продолжающих
DevOps
Автоматизация настройки локального окружения и серверов, развертывания и деплоя
Веб-разработка
Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков
Математика для программистов
Обучение разделам математики, которые будут полезны при изучении программирования
JavaScript
Разработка сайтов и веб-приложений и автоматизированное тестирование на JS
Python
Веб-разработка, автоматическое тестирование и аналитика данных на Python
Java
Веб-разработка и автоматическое тестирование на Java
PHP
Веб-разработка и автоматическое тестирование на PHP
Ruby
Разработка сайтов и веб-приложений на Ruby on Rails
Go
Курсы по веб-разработке на языке Go
HTML
Современная верстка с помощью HTML и CSS
SQL
Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД
Git
Система управления версиями Git, регулярные выражения и основы командой строки
Похожие вопросы
01 ноября 2021
01 ноября 2021
- python строки
- python массивы
01 ноября 2021
- python строки
- python массивы
01 ноября 2021
- 8 800 100 22 47 бесплатно по РФ
- +7 495 085 28 38 бесплатно по Москве
Направления
- Курсы «Backend-разработка»
- Курсы «Frontend-разработка»
- Курсы «Создание сайтов»
- Курсы «Тестирование»
- Курсы «Аналитика данных»
- Интенсивные курсы
- Курсы DevOps
- Курсы «Веб-разработка»
- Курсы «Математика для программистов»
- Все курсы
О Хекслете
- О нас
- Карьера в Хекслете
- Хекслет Колледж
ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476
- Справка
- Вопросы и ответы
- Сообщество
- Дополнительно
- Условия использования
- Соглашение об обработке ПД
- Оферта
- Акции
Удаление подстроки с конца строки в Python
В программировании на Python часто возникает ситуация, когда нужно удалить определенную подстроку с конца строки. В качестве примера можно привести ситуацию, когда есть URL-адрес, и требуется удалить из него расширение домена, например, ‘.com’.
url = 'example.com'
Однако, при попытке использовать метод strip() , который предназначен для удаления символов с начала и конца строки, результат может быть неожиданным:
print(url.strip('.com')) # Вывод: 'example'
В этом случае метод strip() удаляет все символы, указанные в аргументе, с обоих концов строки, пока не встретит символ, не указанный в аргументе. Поэтому он удаляет не только ‘.com’, но и любые другие символы ‘c’, ‘o’, ‘m’ и ‘.’, которые встречаются в конце строки, что может привести к неправильному результату.
Для того чтобы корректно удалить подстроку с конца строки, можно использовать метод rsplit() . Этот метод разбивает строку на подстроки, используя указанный разделитель, и возвращает список подстрок. Аргумент ‘1’ указывает, что разбиение должно производиться с конца строки и только один раз.
print(url.rsplit('.com', 1)[0]) # Вывод: 'example'
В данном случае первый элемент списка будет содержать исходную строку без указанной подстроки ‘.com’. Этот способ более надежен, так как он удаляет именно требуемую подстроку, а не отдельные символы.
Таким образом, для удаления подстроки с конца строки в Python рекомендуется использовать метод rsplit() .
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Удаление части строки
#1 Ноя. 26, 2013 14:05:36
medelgover Зарегистрирован: 2013-09-20 Сообщения: 23 Репутация: 0 Профиль Отправить e-mail
Удаление части строки
Как удалить часть строки до определенного символа?
#2 Ноя. 26, 2013 14:09:21
FishHook От: Зарегистрирован: 2011-01-08 Сообщения: 8312 Репутация: 568 Профиль Отправить e-mail
Удаление части строки
Строки — неизменяемые объекты, поэтому удалить из строки ничего не получится, просто создавайте новый объект
s = "dsadfdsfnjkvnsaasda" index = 8 s = s [index:] print s
#3 Ноя. 26, 2013 14:16:30
medelgover Зарегистрирован: 2013-09-20 Сообщения: 23 Репутация: 0 Профиль Отправить e-mail
Удаление части строки
FishHook
Строки — неизменяемые объекты, поэтому удалить из строки ничего не получится, просто создавайте новый объект
В вашем примере удаляется первые 8 символов.
Мне нужно удалить неизвестное количество символов, все что скажем до символа ‘/’
Пример:
s = “dsadfdsf/njkvnsaasda”
чтото делаем
получаем
s = “njkvnsaasda”
#4 Ноя. 26, 2013 15:04:42
Master_Sergius Зарегистрирован: 2013-09-12 Сообщения: 271 Репутация: 7 Профиль Отправить e-mail
Удаление части строки
И что же вам мешает определить позицию этого символа и потом сделать так, как вам уже подсказали?
#5 Ноя. 26, 2013 15:19:20
medelgover Зарегистрирован: 2013-09-20 Сообщения: 23 Репутация: 0 Профиль Отправить e-mail
Удаление части строки
Master_Sergius
И что же вам мешает определить позицию этого символа и потом сделать так, как вам уже подсказали?
да ничего не мешает. просто эта конструкция не очень красиво сделана.
s = "dsadfdsfnj/kvnsaasda" temp=s.find('/') index = temp s = s [index:] s = s [1:] print s
kvnsaasda
Я думал что существует некое “готовое” выражение. Ну и на том спасибо.
Отредактировано medelgover (Ноя. 26, 2013 15:20:37)