python - 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.
是否有可能从有序的字典中创建一个新的字典(如果可能的话,如何做?)或者“普通”字典会更好?
解决方案
使用 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': []}
推荐阅读
- ocl - 为什么这个 ATL 助手是错误的?
- node.js - cookie session express 包中带有 req.session 的空对象
- sql - SQL Server 中的光标用法
- java - 休眠,repository.save - java.lang.NullPointerException: null - 当对象存在时
- google-cloud-storage - 如何为 GOOGLE CLOUD JSON API 创建不记名令牌
- angular - 更改后将颜色值重置为默认值 - Angular 5
- java - 在android中调用方法后如何恢复xml状态
- lua - 从 lua 中的字符串中提取数据 - 子字符串和数字
- php - 可见性对 PHP 中非静态上下文中后期静态绑定的影响是什么?
- html - Bootstrap 页面的响应性