这可能是一个非常幼稚的问题。我试图通过以下方式比较两个字典的值:
distance = dictionary1[position] - dictionary2[position]
但它不起作用,它给了我dictionary1
的第一个值。
我也尝试过:
set distance = set(dictionary1[position]) - set(dictionary2[position])
但得到相同的结果。
知道两个字典中的值如何相减吗?
字典 1 和 2 就像:
dictionary1 = {'chr1': '3434351', 'chr10': '5329532', 'chr11': '2355620',
'chr12': '40841359', 'chr13': '101523938', 'chr14': '453255816',
'chr17': '491453323', 'chr18': '22361089', 'chr19': '34965774',
'chr2': '16025716', 'chr20': '295671539', 'chr21': '2067974'}
dictionary2 = {'chr1': '15845763', 'chr10': '186537818', 'chr11': '3715102',
'chr12': '1138647613', 'chr13': '123235062', 'chr14': '68159413',
'chr15': '51790735', 'chr16': '19324170', 'chr17': '78184979',
'chr18': '76968073', 'chr19': '37299170', 'chr2': '18329102',
'chr20': '31934245', 'chr22': '32679692'}
最佳答案
使用字典理解:
{ k:int(dic1[k]) - int(dic2[k]) for k in dic1 if k in dic2 }
或者对于 Python <2.7:
dict((k,int(dic1[k]) - int(dic2[k])) for k in dic1 if k in dic2)
关于python - python 两个字典相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960133/