簡體   English   中英

Python 中所有可能的 substring

[英]All possible substring in Python

誰能幫助我使用 python 在字符串中找到所有可能的 substring?

例如:

string = 'abc'

output

a, b, c, ab, bc, abc

Ps:我是初學者,如果解決方案易於理解,我將不勝感激。

您可以執行以下操作:

for length in range(len(string)):
    for index in range(len(string) - length):
        print(string[index:index+length+1])

Output:

a
b
c
ab
bc
abc

否則一種方法是使用組合

from itertools import combinations
s = 'abc'
[
    ''.join(x)
    for size in range(1, len(s) + 1)
    for x in  (combinations(s, size))
]

出去

['a', 'b', 'c', 'ab', 'ac', 'bc', 'abc']

每個 substring 都包含一個唯一的開始索引和一個唯一的結束索引(大於開始索引)。 您可以使用兩個 for 循環來獲取索引的所有唯一組合。

def all_substrings(s):
    all_subs = []
    for end in range(1, len(s) + 1):
        for start in range(end):
            all_subs.append(s[start:end])
    return all_subs
s = 'abc'
print(all_substrings(s)) # prints ['a', 'ab', 'b', 'abc', 'bc', 'c']

你可以這樣做:

def subString(s):
    for i in range(len(s)):
        for j in range(i+1,len(s)+1):
            print(s[i:j])

subString("aashu") aaa aas aash aashu a as ash ashu s sh shu h hu u

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM