は、だから私はそうのような値のリストを持っている:キーとラムダを使ったPythonソート、ラムダは何をしていますか?
with open(file) as f:
data = json.load(f)
values = data["values"]
私は、並べ替えしようとしている:私はそうのようなリストにニシキヘビdeafault JSONパーサで解析するよ
{
"values":
[
{
"date": "2015-04-15T11:15:34",
"val": 30
},
{
"val": 90,
"date": "2015-04-19T11:15:34"
},
{
"val": 25,
"date": "2015-04-16T11:15:34"
}
]
}
次のような日付によるデータ:
values.sort(key=lambda values: values["date"])
これは私の知る限りでは機能します。私の質問はなぜそれが機能するのですか?値["日付"]にアクセスできない場合、なぜこのラムダ関数を使用できますか?値は "日付"のような整数を取ることはできません。私がこれを意味するのは、値[0]、値[1]などのような値にしかアクセスできないということです。なぜならそれは辞書ではないからです。このラムダ関数当量がこれですのであれば:
def some_method(values):
return values[“date”]
値がリストではない辞書ですので、これは無効です。値["日付"]にアクセスできません。
なぜ、このような関数を使って日付を渡すことができますか?ラムダを深く説明することができれば、それは高く評価されます。私はそれについてのスタックのオーバーフローに関する他の投稿を読んだが、彼らは私には意味をなさない。
問題をより明確にするために、より多くの情報を含む質問を更新しました。
暗黙のreturn文と機能の短い形式としてラムダを考えて、あなたが行ってもいいです。 –