【问题标题】:How could you split number string by the value of them? [duplicate]你怎么能用它们的值来分割数字字符串? [复制]
【发布时间】:2018-07-21 02:04:22
【问题描述】:

我有一个如下所示的数字字符串。

s = "1123433364433"

我想得到这样的拆分连续相同值的结果列表。 您无法更改原始每个数字的位置。

结果 = [“11”、“2”、“3”、“4”、“333”、“6”、“44”、“33”]

什么是最简单的方法?

【问题讨论】:

    标签: python split digits continuous


    【解决方案1】:

    使用itertools.groupby:

    from itertools import groupby
    s = "1123433364433"
    print([''.join(i) for _, i in groupby(s)])
    

    这个输出:

    ['11', '2', '3', '4', '333', '6', '44', '33']
    

    【讨论】:

      【解决方案2】:

      您也可以为此使用模块 re

      import re
      s = "1123433364433"
      print([v[0] for v in re.finditer(r'(.)\1*', s)])
      

      输出:

      ['11', '2', '3', '4', '333', '6', '44', '33']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-19
        • 1970-01-01
        • 1970-01-01
        • 2022-07-06
        • 2017-07-08
        • 2016-08-19
        • 2019-03-30
        • 2011-07-25
        相关资源
        最近更新 更多