python - 列表/序列的正则表达式模拟

标签 python regex list

我发现很酷的是,使用正则表达式我可以获取修改后的字符串,而无需显式循环原始字符串 - 例如在 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/

相关文章:

Python, Pandas 如何通过查找特定单词而不是 ","或 "_"等来拆分字符串

python - 将 XML 解析为哈希表

c++ - 解析 : #parameter1~value1#parameter2~value2#parameter3 给出的字符串

regex - 捕获正则表达式的更快方法

java - 为什么 Array.asList 不创建空列表?

python - url 中省略的参数

python - 给定具有所需顺序的 id 列表,如何对 python 字典列表进行排序?

javascript - 正则表达式对 javascript block 注释执行全局匹配

python - 嵌套列表排序 python 3

python - 如何将二维列表写入文件