Удалить определенные символы из списка python
Я довольно новичок в Python. У меня есть список:
sorted_x = [('pvg-cu2', 50.349189), ('hkg-pccw', 135.14921), ('syd-ipc', 163.441705), ('sjc-inap', 165.722676)]
Я пытаюсь написать регулярное выражение, которое удалит все после «-» и перед «,», т. Е. Мне нужен тот же список, что и ниже:
[('pvg', 50.349189), ('hkg', 135.14921), ('syd', 163.441705), ('sjc', 165.722676)]
Я написал регулярное выражение следующим образом:
for i in range(len(sorted_x)): title_search = re.search('^\(\'(.*)-(.*)\', (.*)\)$', str(sorted_x[i]), re.IGNORECASE) if title_search: title = title_search.group(1) time = title_search.group(3)
Но для этого мне нужно создать два новых списка, и я не хочу менять свой первоначальный список. Можете ли вы предложить простой способ, чтобы я мог изменить свой первоначальный список, не создавая новый список?
- не возвращать весь шаблон в regex в python
- Регулярное выражение для поиска множественного числа или единственного числа конкретного python
- Как мне регулярное выражение сопоставить ссылку на список в Python?
- python, regex, чтобы найти ссылку привязки html
- Замените целочисленное значение с помощью регулярного выражения с помощью python
result = [(a.split('-', 1)[0], b) for a, b in sorted_x]
Пример:
>>> sorted_x = [('pvg-cu2', 50.349189), ('hkg-pccw', 135.14921), ('syd-ipc', 163.441705), ('sjc-inap', 165.722676)] >>> [(a.split('-', 1)[0], b) for a, b in sorted_x] [('pvg', 50.349189000000003), ('hkg', 135.14921000000001), ('syd', 163.44170500000001), ('sjc', 165.72267600000001)]
- Экранирование строки регулярного выражения в Python
- регулярное выражение python с re.split ()
- Regex, связанный с * и + в python
- Регулярное выражение, не содержащее алфавитно-цифровых символов
- Регулярное выражение для управления экранированными символами для элементов, таких как строковые литералы
- Как заменить регулярное выражение на соответствующий регистр?
- Как найти и заменить n-е появление слова в предложении, используя регулярное выражение python?
- Regex – Как заменить слово в строке своей записью в словаре python?
- Regex: номера между специальными символами (но не все номера)