私は一連の文字を持っており、特定の文字の周りの文字を切り取って、可能なすべての文字の組み合わせを見つけたいと思っています。
ここでのCは私の特別な文字であり、Xは何でもかまいません。したがって、次のシーケンスを使用します。
XCXX
したがって、考えられるすべての組み合わせは次のようになります。
XCXX
XCX
XC
CXX
CX
C
このためのPython関数はありますか、それとも最初からコーディングする必要がありますか?
ありがとうございました
私は一連の文字を持っており、特定の文字の周りの文字を切り取って、可能なすべての文字の組み合わせを見つけたいと思っています。
ここでのCは私の特別な文字であり、Xは何でもかまいません。したがって、次のシーケンスを使用します。
XCXX
したがって、考えられるすべての組み合わせは次のようになります。
XCXX
XCX
XC
CXX
CX
C
このためのPython関数はありますか、それとも最初からコーディングする必要がありますか?
ありがとうございました
私はそれを最初から次のようにコーディングしたでしょう:
def cuts(s,i):
return [ s[a:b] for a in range(i+1) for b in range(i+1,len(s)+1)]
ここs
で、は文字列でi
あり、はの「特殊文字」のインデックスですs
。例:
>>> cuts('XCXX', 1)
['XC', 'XCX', 'XCXX', 'C', 'CX', 'CXX']
特別な要素の前後の要素の数を数えてみてくださいC
。次に、組み合わせはこれら2つの数値によって一意に定義され、文字列スライスを使用して特定の数値を取得できます。
いいえ、でもワンライナーでできます。
data = "XCXX"
cIndex = data.index("C")
permutations = [data[i:j+1] for i in range(cIndex+1)
for j in range(cIndex, len(data))]