Чтобы запустить мою программу, мне нужно взять строку и вставить числа в определенную позицию. У меня уже есть код, который это делает. Что мне нужно сделать сейчас, так это получить его, чтобы программа делала это для каждого элемента (который является числом) в списке. Я использовал встроенный цикл for и получил ошибку «TypeError: unhashable type: list». Я также хочу поместить результаты в список.
Что я уже сделал, так это написал код, который заменит числа в исходной строке, с которой я работаю в качестве доказательства концепции. Однако, когда я пытаюсь вставить цикл в предыдущий код, я получаю эту ошибку. Код выглядит следующим образом:
s = '<button id = "qty_plus_cartline_change_1221067058" type = "button" class = "quantity_plus " data-component = "quantitybox.inc">+<span class = "offscreen">Increase the Quantity 1</span></button>'
new_string = re.sub('\d+', 'new number', s,1)
print(new_string)
Это доказательство концепции, которая работает, чтобы заменить числа так, как я хочу.
updated_list = []
new_string = re.sub('\d+', [i for i in list], s,1)
updated_list.append(new_string)
print(updated_list)
Выше приведен код, который я пытаюсь использовать, чтобы заменить строку всеми числами в существующем списке.
В результате я ищу новую строку с новым обновленным номером для каждого элемента в списке (списке). Для справки:
list = [1111111111,2222222222,3333333333,4444444444]
Это означает, что я ищу это:
['<button id = "qty_plus_cartline_change_1111111111" type = "button" class = "quantity_plus " data-component = "quantitybox.inc">+<span class = "offscreen">Increase the Quantity 1</span></button>', '<button id = "qty_plus_cartline_change_2222222222" type = "button" class = "quantity_plus " data-component = "quantitybox.inc">+<span class = "offscreen">Increase the Quantity 1</span></button>', '<button id = "qty_plus_cartline_change_3333333333" type = "button" class = "quantity_plus " data-component = "quantitybox.inc">+<span class = "offscreen">Increase the Quantity 1</span></button>', '<button id = "qty_plus_cartline_change_4444444444" type = "button" class = "quantity_plus " data-component = "quantitybox.inc">+<span class = "offscreen">Increase the Quantity 1</span></button>']
Любая помощь приветствуется!






Вы должны вызывать re.sub внутри понимания списка, а не наоборот. Кроме того, не называйте переменную list, так как это затенит встроенную функцию list. Я переименовал его в lst в следующем примере:
updated_list = [re.sub('\d+', str(i), s, 1) for i in lst]
Спасибо чувак! Утром попробую. И да, список был просто названием для примера, но вы совершенно правы ??♂️??