gpt4 book ai didi

python - 使用列表中的元素更新字典的值 Python

转载 作者:行者123 更新时间:2023-11-30 23:03:54 25 4
gpt4 key购买 nike

我创建了一个列表和字典来计算氨基酸频率。

我想基本上用列表中的值替换字典中的值。

例如,

我现在拥有的是。

L1 = [0.0429, 0.0071, 0.05, 0.0929, 0.0429, 0.0143, 0.0071, 0.0429, 0.0929, 0.1143, 0.0643, 0.0643, 0.05, 0.0286, 0.02 86, 0.0643, 0.0857, 0.0714, 0.0143, 0.0214]

D1 = OrderedDict([('A', 6), ('C', 1), ('D', 7), ('E', 13), ('F', 6) , ('G', 2), ('H', 1), ('I', 6), ('K', 13), ('L', 16), ('M', 9), ( 'N', 9), ('P', 7), ('Q', 4), ('R', 4), ('S', 9), ('T', 12), ('V' ', 10), ('W', 2), ('Y', 3)])

我想将 D1 中的每个值替换为 L1 中的值。例如,我想要 ([('A', 0.0429),('C',0.0071).... 等等。

这是创建列表 (L1) 和字典 (D1) 的代码。

for seq_record in SeqIO.parse(f1,'fasta'):

sorted_dict = (collections.OrderedDict(sorted(Counter(seq_record.seq).items())))
total = float(sum(Counter(seq_record.seq).values()))
print sorted_dict
aa_frequency =(round(value/total,4) for key, value in sorted_dict.items())
aa_frequency_value = []
for i in aa_frequency:
aa_frequency_value.append(i)

最佳答案

非常简单,因为您已经按顺序获得了值和键。

for val, key in zip(L1, D1):
D1[key] = val

似乎您应该就地执行此操作,因为您没有添加或删除元素

total = float(um(Counter(seq_record.seq).values()))
for key,val in sorted_dict.items():
newval = round(val/total, 4)
sorted_dict[key] = newval

关于python - 使用列表中的元素更新字典的值 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33927596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com