Моя проблема заключается в:
У меня есть список, в котором после многократной очистки есть элементы, которые выглядят как «455XYZ455». Я пытаюсь удалить все после X, но оно находится внутри списка. Код, который позволяет мне это сделать, следующий:
check = [re.sub(r'\W', '', i) for i in content]
# print(check)
check2 = [re.sub('[aclassnewpagehref]', '', i) for i in check]
# print(check2)
check3 = [re.sub('[/<=""]', '', i) for i in check2]
# print(check3)
check4 = [item for item in check3 if item != '']
print(check4)
Как и ожидалось, это дает мне, как и выше, много «455XYZ455». Я просто хочу 455, но это список. Будучи полным новичком в Python, я полностью застрял. Спасибо, что прочитали и, возможно, помогли мне!
2 ответа
Я хочу помочь вам, но не уверен, что получил ваш вопрос. Если элемент в вашем списке всегда содержит ТРИ символа перед x, вы можете сделать следующее:
x = 0
while x < len(check4):
check4[x] = check4[x][0:3]
x += 1
В противном случае все сложнее, но я могу вам помочь, просто дайте мне знать.
Вы можете сделать это, просто используя split без регулярного выражения. Предположим, что строка '455XYZ455' находится в переменной a.
s = a.split('x')[0]
Здесь a будет разделен на 'x', и он вернет список частей до и после 'x', но поскольку вам нужна только часть до 'x', я назначил первый элемент списка s.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.