-1

我的目标是尝试将字符串列表与整数列表进行匹配:

例如我的字符串列表:wholelookup[uniprotID] = [A177T,I126T,M418T].

我的整数列表:lookup[uniprotID] = [177,126,418].

如果有匹配项,那么我想在整个查找中打印令牌。

这是我到目前为止所拥有的,但它没有打印任何结果:

for item in lookup[uniprotID]:
    for names in wholelookup[uniprotID]:
        if start <= item <= end and re.match(item, names) :
            item, start, end = map(int, (item, start, end))
            print names
4

2 回答 2

0

match尝试从头开始匹配。另外:您不想将 a 匹配1到 例如 a321a

您可以使用 're.match(r'\w'+str(item)+r'\w', names)' 而不是re.match(item, names)

或使用re.search

re.search(r'\d+',names).group(0)==item
于 2012-07-23T21:13:33.607 回答
0

为什么要使用正则表达式?

假设startandend已经是整数并且item是一个字符串,试试这个:

for item in lookup[uniprotID]:
    if start <= int(item) <= end: continue
    for names in wholelookup[uniprotID]:
        if str(item) in names :
            print names
于 2012-07-23T21:20:39.810 回答