リストから辞書を作成したいとします。私は、後の日付が見つかった場合には値を置き換えることを望みます。新しい値が新しい日付の場合は、辞書の値を置き換えます。
import datetime
values=[['A',datetime.date(2017,1,1)],
['B',datetime.date(2001,2,2)],
['A',datetime.date(2017,10,21)],
['B',datetime.date(2005,6,3)]]
d={}
for (k,v) in values:
if k not in d:
d[k]=v
else:
if d[k]<v:
d[k]=v
print(d)
{'B': datetime.date(2005, 6, 3), 'A': datetime.date(2017, 10, 21)}
少ないコードで簡単な方法がなければならない。このよう
。これをもっと効率的にするにはどうしたらいいですか?
これは読みやすくするために2行(個人的な好み)にしています。 +1 –
カスタムキー機能は必要ありません。この場合、デフォルトのソートも同様に機能します。 'dict(sorted(values)))' –