我有一个字符串S = '02143'和一个列表A = ['a','b','c','d','e']。我想将 'S' 中的所有数字替换为 list 中相应的元素A。
例如,替换0为A[0]、2withA[2]等。最终输出应该是S = 'acbed'.
我试过:
S = re.sub(r'([0-9])', A[int(r'\g<1>')], S)
Run Code Online (Sandbox Code Playgroud)
然而这会产生错误ValueError: invalid literal for int() with base 10: '\\g<1>'。我猜它正在将反向引用'\g<1>'视为字符串。我该如何解决这个问题,特别是使用re.sub和捕获组,否则呢?