Ich habe eine JSON-Datei in etwa so.Python - Getting Key mit zweiten und dritten Maximalwert im Wörterbuch
{
"b0:47:bf:af:c1:42":
{
"No. of visits": 10, "cities":
{
"Mumbai": {"count": 5,"last_visited": "5/22/2016"},
"Kolkata": {"count": 2,"last_visited": "5/22/2016"},
"Amritsar":{"count": 3,"last_visited": "5/22/2016"}
}
},
"c0:ee:fb:71:be:0d":
{
"No. of visits": 24, "cities":
{
"Mumbai": {"count": 2,"last_visited": "5/22/2016"},
"Kolkata": {"count": 20,"last_visited": "5/22/2016"},
"Amritsar":{"count": 2,"last_visited": "5/22/2016"}
}
}
}
nun die max besuchte Stadt von einem Benutzer oder den Schlüssel b0:47:bf:af:c1:42
für jeden Schlüssel bekommen ich zur Zeit in ein dict bin Parsen und dann diese verwenden.
for mac in dic_data:
cities = dic_data[mac]['cities']
most_visited_city = max(cities, key=lambda x: cities[x]['count'])
Aber wie man zweite max besuchte Stadt, dritte max besuchte Stadt und so weiter. Ich benutze Python 2.7.
dies definitiv hilft als ks. Ich hatte nur noch einen Zweifel. Wenn ich die maximal besuchte Stadt erreichen möchte, wird die zweite maximal besuchte (oder sortierte Liste) von jedem Benutzer und nicht von jedem Benutzer besucht. Also, für diesen Fall wird die Ausgabe wie folgt aussehen: ['c0: ee: fb: 71: sei: 0d': 'Kolkata', 'b0: 47: bf: af: c1: 42': 'Mumbai', 'b0: 47: bf: af: c1: 42 ':' Amritsar '] 'und so weiter –
@ranadan Siehe meine aktualisierte Antwort – DeepSpace
Entschuldigung, ich denke, ich konnte meine Frage nicht richtig erklären. Das hast du nochmal gemacht ist für jeden Mac. Was ich will, ist auf "" count "' für ganzes Wörterbuch zu sortieren und die Ausgabe sowohl Schlüssel als auch Unterschlüssel zurückzugeben, da count ein Unterschlüssel des Unterschlüssels key ist. Schauen Sie sich einfach die Ausgabe an. '['c0: ee: fb: 71: sei: 0d': 'Kolkata', 'b0: 47: bf: af: c1: 42': 'Mumbai', 'b0: 47: bf: af: c1: 42 ':' Amritsar ',' c0: ee: fb: 71: sei: 0d ':' Mumbai ',' c0: ee: fb: 71: sei: 0d ':' Amritsar ',' b0: 47: bf: af : c1: 42 ':' Kolkata '] '. –