我发现很酷的是,使用正则表达式我可以获取修改后的字符串,而无需显式循环原始字符串 - 例如在 Python 中:
from re import sub
print sub(r'12', r'twelve', r'12 + 12 = 24')
打印
twelve + twelve = 24
一般情况下列表有类似的东西吗?特别是,它如何在 Python 中使用将是最受赞赏的,但在任何语言中类似的东西也很酷。
我可能会给出一个示例任务,例如
[0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1]
用 2
替换所有出现的 0 , 1
,这样我会得到:
[0, 2, 1, 2, 2, 1, 2]
当然,在这种特殊情况下,我可以将列表转换为数字字符串,然后使用正则表达式,但我希望有一些我可以使用的列表模拟。
最佳答案
对于这个单一案例:
a = [0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1]
b = []
while a:
x = a.pop(0)
if x == 0 and a and a[0] == 1:
a.pop(0)
b.append(2)
else:
b.append(x)
关于python - 列表/序列的正则表达式模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12001115/