Как передать группы захвата в обратный вызов/функцию при использовании Polars str.replace?Python

Программы на Python
Ответить
Anonymous
 Как передать группы захвата в обратный вызов/функцию при использовании Polars str.replace?

Сообщение Anonymous »

Я пытаюсь преобразовать такую ​​серию

Код: Выделить всё

import polars as pl

s = pl.Series(['{1-5}', '1'])

Код: Выделить всё

# shape: (2,)
# Series: '' [str]
# [
#     "{1-5}"
#     "1"
# ]
к такой серии

Код: Выделить всё

pl.Series(['{1, 2, 3, 4, 5}', '1'])

Код: Выделить всё

# shape: (2,)
# Series: '' [str]
# [
#     "{1, 2, 3, 4, 5}"
#     "1"
# ]
что я могу сделать, если вручную запишу 1 и 5, соответствующие экстремумам первого элемента, т.е.

Код: Выделить всё

s.str.replace(r'\{(\d+)-(\d+)\}', f'{set(range(1, 6))}')
но вместо этого я хочу ссылаться на группы захвата, например что-то вроде

Код: Выделить всё

s.str.replace(r'\{(\d+)-(\d+)\}', f'{set(range(int('${1}'), int('${2}' + 1)))}')
Как это сделать?


Подробнее здесь: https://stackoverflow.com/questions/784 ... str-replac
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»