-1

ここでの私の目標は、文字列のリストを int のリストと一致させようとすることです。

たとえば、文字列のリスト: wholelookup[uniprotID] = [A177T,I126T,M418T].

私のintのリスト: 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最初から一致しようとします。1また、 aを for instance に一致させたくありません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

なぜ正規表現を使用するのですか?

startendがすでに int であり、文字列であると仮定して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 に答える