2016-05-23 6 views
0

У меня есть вложенный словарь со следующей структурой:Получить медиану значений в словаре вложенного

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

Словаря представляет кластеры ДНК-последовательности с номерами доступа в качестве ключа для длины последовательностей. Теперь, для каждого подзадача в диктаторе, я хочу извлечь ключ, представляющий медиану длины последовательности для соответствующего подзадача.

Кто-нибудь знает, как это сделать?

ответ

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] 
Смежные вопросы