私はキーがidsであり、その値がKとMだけでなく、私にとって重要ではないいくつかの文字で作られた長いシーケンスである辞書も持っています。文字の並びのモチーフを見つける
li = {id1: "KKMKMKMKJASGKKKMOOGBMMMMMMMMMMMMMMMMMM",
id2:"MMKFJDFKFGKJKMKMKMKMKMJKJHFKMKMKM"}
私はそれが偶数か奇数ちょうど等しいまたは6よりも長く、それはまた、同じキーを持つ辞書にする必要があります可能性があり、少なくとも6の長さを「KMKMKM
」のモチーフを見つけたいが、配列全体の代わりに、値はモチーフのリストでなければなりません。次の例のようにします。
results = {id1: ["KMKMKMK"], id2: ["KMKMKMKMKM", "KMKMKM"] }
私はこのコードを書いていますが、興味のあるモチーフは返していません。
{k: re.findall(r'(?:KM){6,1000}', v) for k, v in li.items()}
あなたがモチーフとはどういう意味ですか? –
KとMの小さな配列を探しています。 – user7249622
それらは交互になり、 'K'で始める必要がありますか? – schwobaseggl