簡體   English   中英

檢查列表是否是字典中的鍵並返回相應的值

[英]checking if a list is a key in a dictionary and returning corresponding value

這是我的代碼:

with open('file.txt','r') as f:
    table = {}
    for lines in f:
        co1,co2,co3,pro1,pro2,pro3 = (
            item.strip() for item in lines.split(',',5))
        codon=str(co1 + co2 + co3)
        table[codon] = pro2

print(table)

我需要將他們所說的dan_seq拆分為 3 個塊,然后將其與我創建的字典匹配,即如果塊是我字典中的一個鍵,則返回它的值

dna_seq = list('AAAGTTAAATAATAAATAGGTGAA')

圖片是文本文件:

1

您可以使用切片將dna_seq塊,然后使用table.get獲取匹配值:

>>> dna_seq = 'AAAGTTAAATAATAAATAGGTGAA'
>>> [dna_seq[i:i+3] for i in range(0, len(dna_seq), 3)]
['AAA', 'GTT', 'AAA', 'TAA', 'TAA', 'ATA', 'GGT', 'GAA']
>>> for chunk in [dna_seq[i:i+3] for i in range(0, len(dna_seq), 3)]:
...     print(table.get(chunk))

您需要將字符串分成大小為 3 的塊,您可以通過以下方式完成: dna_seq[i:i+3] for i in range(0, len(dna_seq), 3)並且您的最終代碼看起來有點像:

for i in range(0, len(dna_seq), 3):
    current_seq = dna_seq[i:i+3]
    
    # check if this value exists, then print it
    if current_seq in table:
        print(table[current_seq])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM