2016-05-23 71 views
0

我有一個嵌套的字典具有以下結構:獲取值的中值在嵌套字典

Clusters{Cluster_X :{accession1: 8, accession2: 3, accession3: 7}, Cluster_Y :{accession1: 7.....}} 

字典表示與登錄號作爲序列長度的關鍵的DNA序列的簇。現在,對於dictonary中的每個子字典,我想提取表示各個子字典的序列長度中位數的密鑰。

有人知道該怎麼做嗎?

回答

1

這僅僅是爲每個子字典打印中位數和相應的鍵的示例。在for循環中,我們構造一個列表l,它由一對序列長度和一個關鍵字組成。然後l按長度排序。

Clusters = {"Cluster_X" :{"accession1": 8, "accession2": 3, "accession3": 7}," Cluster_Y" :{"accession1": 7, "accession2": 10}} 

for c in Clusters: 
    l = [[m,k] for k, m in Clusters[c].items()] 
    l.sort() 
    print 'median:', l[len(l)//2][0], ' key:', l[len(l)//2][1]