gpt4 book ai didi

python - 集合字典中的总和值

转载 作者:行者123 更新时间:2023-11-28 20:37:14 25 4
gpt4 key购买 nike

我的任务可能很简单,我尝试了几种解决方案,但似乎无法弄清楚。

我有一个包含基因名称和相应位置的集合的字典,如下所示:

gene_nr_snp = {'gene1: {3,9}, gene2: {2,3,1}, gene3: {1}}

我想返回一个包含基因名称和相应总和值的字典。

我尝试了以下方法:

gene_values = {}

for gene, snp in gene_nr_snp.items():
for i in snp: # iterate the values in each set
snp_total = 0
snp_total += i
gene_values[gene].add(snp_total)

这将返回相同的一组值

最佳答案

您可以使用字典理解和 sum() function :

gene_values = {gene: sum(snp) for gene, snp in gene_nr_snp.items()}

您的尝试失败了,因为您将 snp 中的每个值的 snp_total 变量设置为 0,因此无法对任何内容求和。然后您似乎将 gene_values[gene] 视为一个集合,但字典一开始是空的,因此您将得到一个 KeyError。一个工作版本是:

gene_values = {}

for gene, snp in gene_nr_snp.items():
snp_total = 0
for i in snp: # iterate the values in each set
snp_total += i
gene_values[gene] = snp_total

但是 sum() 函数使内部循环比需要的更冗长;整个循环体可以替换为 gene_values[gene] = sum(snp)

关于python - 集合字典中的总和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43571404/

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