我还有一个字典,其中的键是id,值是长序列,不仅包含K和M,还包含一些对我来说不重要的字符。
li = {id1: "KKMKMKMKJASGKKKMOOGBMMMMMMMMMMMMMMMMMM",
id2:"MMKFJDFKFGKJKMKMKMKMKMJKJHFKMKMKM"}
我想找到" KMKMKM
"的主题。长度至少为6.它可以是偶数或奇数,只等于或大于6.它也应该在具有相同键的字典中,但不是整个序列,值必须是主题列表。如下例所示。
results = {id1: ["KMKMKMK"], id2: ["KMKMKMKMKM", "KMKMKM"] }
我已经写了这段代码,但没有回复感兴趣的图案。
{k: re.findall(r'(?:KM){6,1000}', v) for k, v in li.items()}
答案 0 :(得分:3)
这个完成工作:
String id="cluster";
int iterator=0;
//put itout of your loop
//open loop here
<div class="checkbox" id="<%=id.concat(iterator) %>_div">
iterator++;
// close loop here
<强>解释强>
((?:KM){3,}K?)
在行动中:
( : group 1
(?:KM){3,} : non capture group, 3 or more times KM
K? : optional K
) : end group 1
<强>输出:强>
import re
li = {'id1': "KKMKMKMKJASGKKKMOOGBMMMMMMMMMMMMMMMMMM",
'id2':"MMKFJDFKFGKJKMKMKMKMKMJKJHFKMKMKM"}
res = {k: re.findall(r'((?:KM){3,}K?)', v) for k, v in li.items()}
print(res)
答案 1 :(得分:0)
这就是你要找的东西:
import re
stringA = "KKMKMKMKJASGKKKMOOGBMMMMMMMMMMMMMMMMMM";
motifs = "KMKMKM";
m = re.search(motifs, stringA)
if m:
print(motifs);
回复您的评论如下:
stringA = "KKMKMKMKJASGKKKMOOGBMMMMMMMMMMMMMMMMMM";
motifs = "KMKMKM";
i = 0;
while True:
seq = stringA[i:]
i = i + 1;
if (seq.startswith(motifs)):
print(seq);
if (len(stringA) == i):
break;