2016-05-23 9 views
0

Ich habe eine verschachtelte Wörterbuch mit der folgenden Struktur:Erhalten Median der Werte in verschachtelter Wörterbuch

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

Das Wörterbuch stellt Cluster von DNA-Sequenzen mit Zugangsnummern als Schlüssel für die Sequenzen der Länge. Nun möchte ich für jedes Subdictionary im Dikton den Schlüssel extrahieren, der den Median der Sequenzlängen für das jeweilige Subdictionary darstellt.

Weiß jemand, wie man das macht?

Antwort

1

Es ist nur ein Beispiel, um die Mediane und die entsprechenden Schlüssel für jedes Unterwörterbuch zu drucken. In der for-Schleife konstruieren wir eine Liste l, die aus Paaren einer Sequenzlänge und eines Schlüssels besteht. Dann ist l nach den Längen sortiert.

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]