私はPython辞書のmax関数の操作を理解しようとしています。以下は私が使用しているコードです:Python辞書のmax関数の操作を理解する
tall_buildings = {
"Empire State": 381, "Sears Tower": 442,
"Burj Khalifa": 828, "Taipei 101": 509
}
# 1. find the height of the tallest building
print("Height of the tallest building: ", max(tall_buildings.values()))
# 2. find the name, height pair that is tallest
print(max(tall_buildings.items(), key=lambda b: b[1]))
# 3. find the tallest building
print(max(tall_buildings, key=tall_buildings.get))
上記の印刷文はすべて、コードのコメントに示されている通り正しい結果を示しています。
#1
と#2
の仕組みを理解しました。
1:
tall_buildings.values()
は高さのストリームを返し、max
関数は高さの最大値を返します。 :tall_buildings.items()
は(名前、高さ)ペアのストリームを与え、最大の機能はどのように# 3
作品を理解する上で、私は難しさを持っている、しかしkey=pair's height.
に基づいてペアを返します。 key=tall_buildings.get
は、最も高い建物を見つけるための鍵となりますか?私はネッドのPyconの話からコードをとっている
:#3作品がkey
として提供方法は、単にtall_buildings
辞書から値をルックアップすることであることをhttps://youtu.be/EnSu9hHGq5o?t=12m42s
dict.getメソッドはキーを受け取り、関連付けられた値を返します。したがって、max関数は辞書内のすべてのエントリを実行し、ペアに最大の高さを関連付けます。 – user452570