Создание словаря из текстового архива (таблица кодонов) - PullRequest
0 голосов
/ 24 марта 2020

Я хочу создать словарь с архивом, который я скачал с Проект кода Розалинд . Я сохранил его как 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 (последний вызов был последним):
File " ", строка 5, в
KeyError: 'UUU'

Это UUU упоминается как первое слово в файле table.txt. Я пытаюсь сохранить каждое слово в a в словаре d. Если первый элемент начинается с кодона, он сохраняется как ключ. Все остальное сохраняется как значение аминокислоты с последним созданным ключом.

Спасибо за любую помощь, которую вы мне окажете.

1 Ответ

0 голосов
/ 24 марта 2020

может быть, вы хотите это

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
...