1
私はこのようなJSONファイルを持っています。 python - 辞書の2番目と3番目の最大値を持つキーを取得
{
"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"}
}
}
}
は今、ユーザーまたは私は現在、辞書にそれを解析して、これを使用していた各キーのキー
b0:47:bf:af:c1:42
で街を訪れた最大を取得します。
for mac in dic_data:
cities = dic_data[mac]['cities']
most_visited_city = max(cities, key=lambda x: cities[x]['count'])
しかし、どのように2番目の最大訪問都市、3番目の最大訪問都市などを取得します。私はPython 2.7を使用しています。
これは間違いなく役立ちますks。私はちょうどもう一つの疑いがあった。私が訪問した都市の最大値を、各ユーザーではなく任意のユーザーが訪れた(またはソートされたリスト)ようにしたい場合。 b0:47:bf:af:c1:42 ':'ムンバイ '、' b0: 47:bf:af:c1:42 ':' Amritsar '] 'など。 –
@ranadan更新された回答を参照してください。 – DeepSpace
申し訳ありませんが、私は質問を正しく説明できませんでした。これはあなたが行ったもう一度各Mac用です。私が望むのは、辞書全体について '' count ''をソートして、キーのサブキーのサブキーであるKeyとSubkeyの両方の出力を返すことです。ちょうど出力を見てください。 「コルカタ」、「b0:47:bf:af:c1:42」:「ムンバイ」、「b0:47:bf:af:c1:42 ':' Amritsar '、' c0:ee:fb:71:be:0d ':'ムンバイ '、' c0:ee:fb:71:be:0d ':' Amritsar '、' b0:47:bf:af :c1:42 ':'コルカタ '] '。 –