Python:使用现有有序dict中的键生成一个空的dictionary

2024-06-02 11:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

来自CS50的PSet 6 DNA

我有一个带有标题和值的CSV文件:

name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG
Albus,15,49,38,5,14,44,14,12

我有一个包含DNA序列的txt文件:

AAGGTAAGTTTAGAATATAAAAGGTGAGTTAAATAGAATAGGTTAAAATTAAAGGAGATCAGATCAGATCAGATCTATCTATCTATCTATCTATCAGAAAAGAGTAAATAGTTAAAGAGTAAGATATTGAATTAATGGAAAATATTGTTGGGGAAAGGAGGGATAGAAGG

我可以根据以下数据制作有序词典:

OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])

对于文本序列,我想用CSV文件中的键创建一个空字典

    newdict = dict.fromkeys(reader.keys(),[]) - doesn`t work - the dictionary is ordered. 

是否有可能从订购的词典中制作一本新词典(如果可能,如何制作?)或者“普通”词典更好


Tags: 文件csvname标题序列dna词典cs50
1条回答
网友
1楼 · 发布于 2024-06-02 11:41:06

使用Python 3.7。以下是您要查找的内容吗

dna_file
name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG
Albus,15,49,38,5,14,44,14,12

with open('/home/aklaver/dna.csv', newline=None) as dna_file:  
    header_line = dna_file.readline().rstrip().split(",")
header_line                                                                                                                                                               
['name', 'AGATC', 'TTTTTTCT', 'AATG', 'TCTAG', 'GATA', 'TATC', 'GAAA', 'TCTG']

dna_dict = dict.fromkeys(header_line, [])
dna_dict                                                                                                                                                                  
{'name': [],
 'AGATC': [],
 'TTTTTTCT': [],
 'AATG': [],
 'TCTAG': [],
 'GATA': [],
 'TATC': [],
 'GAAA': [],
 'TCTG': []}

相关问题 更多 >