繁体   English   中英

Python:使用现有有序字典中的键创建一个空的字典问题

[英]Python: make an empty issue of dictionary with keys from existing ordered dict

来自 CS50 的 PSet 6 DNA。

我有 CSV 文件和 header 和值:

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. 

是否可以从有序的字典中创建一个新的字典(如果可能的话怎么做?)或者“普通”字典会更好?

使用 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': []}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM