【问题标题】:python split sequence of characters into separate lists [duplicate]python将字符序列拆分为单独的列表[重复]
【发布时间】:2021-03-11 03:56:08
【问题描述】:

如果您要在一个序列中包含一串字符/数字 - 比如说 AACBDEFZZBGFAAFFGGCCEEZZ

如何遍历字符串,然后让 AA 和 ZZ 之间的每个字符都出现在列表中?这种情况下的最终结果是:

[CBDEF], [FFGGCCEE] ?

谢谢

【问题讨论】:

  • 改写 - 最好是我使用的词的错误选择

标签: python list


【解决方案1】:

你可以使用str.index:

def between_markers(s, starting_marker="AA", ending_marker="ZZ"):
    # keep track of where the previous marker was found
    prev_ind = 0
    ret = []
    while True:
        try:
            # find the starting marker
            start = s.index(starting_marker, prev_ind) + len(starting_marker)
            # find the ending marker
            end = s.index(ending_marker, start)
            prev_ind = end + len(ending_marker)
            # slice and append to return list
            ret.append(s[start:end])
        except ValueError:
            # couldn't find one of the two markers so we're done
            break
    return ret

between_markers("AACBDEFZZBGFAAFFGGCCEEZZ") # ['CBDEF', 'FFGGCCEE']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    相关资源
    最近更新 更多