当前位置 : 主页 > 编程语言 > python >

python – 从一组(类似)字符串中确定前缀

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有一组字符串,例如 my_prefix_what_evermy_prefix_what_so_evermy_prefix_doesnt_matter 我只是想找到这些字符串中最长的公共部分,这里是前缀.在上面的结果应该是 my_prefix_ 字符串 my_prefix_what_evermy_p
我有一组字符串,例如

my_prefix_what_ever
my_prefix_what_so_ever
my_prefix_doesnt_matter

我只是想找到这些字符串中最长的公共部分,这里是前缀.在上面的结果应该是

my_prefix_

字符串

my_prefix_what_ever
my_prefix_what_so_ever
my_doesnt_matter

应该导致前缀

my_

在Python中有一种相对无痛的方法来确定前缀(无需手动迭代每个字符)吗?

PS:我使用的是Python 2.6.3.

永远不要改写提供给你的东西: os.path.commonprefix就是这样:

Return the longest path prefix (taken
character-by-character) that is a prefix of all paths in list. If list
is empty, return the empty string (''). Note that this may return
invalid paths because it works a character at a time.

为了与其他答案进行比较,这里是代码:

# Return the longest prefix of all list elements.
def commonprefix(m):
    "Given a list of pathnames, returns the longest common leading component"
    if not m: return ''
    s1 = min(m)
    s2 = max(m)
    for i, c in enumerate(s1):
        if c != s2[i]:
            return s1[:i]
    return s1
网友评论