从文本存档(密码子表)创建字典

问题描述 投票:0回答:1

我想创建一个字典,其中包含我从Rosalind Code Project下载的档案。我将其保存为table.txt,然后编写了下一个代码:

d = {}
with open('./table.txt',"r") as f:
a = f.read().split()
for line in a:
    if len(line) == 3: k = line; d[line] == '';
    elif len(line) == 1 | len(line) == 4: d[k] = line;

但是,我遇到下一个错误:

Traceback (most recent call last): 
File "<stdin>", line 5, in <module>
KeyError: 'UUU'

此'UUU'被称为table.txt档案中的第一个单词。我正在尝试将a词典中的d中的每个单词保存下来。如果第一个元素以密码子开头,则另存为密钥。最后创建的密钥会将其他所有内容保存为氨基酸值。

感谢您能给我带来的帮助。

python dictionary-comprehension
1个回答
0
投票

也许您想要这个

d = {}
with open('./table.txt',"r") as f:
    a = f.read().split()
for line in enumerate(a):
    if len(line) == 3:
        k = line
    elif len(line) == 1 or len(line) == 4:
        d[k] = line

如果table.txt格式正确。这有可能

for pre, next in zip(a[:-1:2], a[1::2]):
    d[pre] = next
© www.soinside.com 2019 - 2024. All rights reserved.