亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 key=string 和 value=datetime 對象的字典中獲取最新日期時間的鍵

在 key=string 和 value=datetime 對象的字典中獲取最新日期時間的鍵

鴻蒙傳說 2022-12-20 14:07:27
我有一本字典from datetime import datetimetime_delta_dict = {'A': datetime.datetime(year=2020, month=6, day=1, hour=11, minute=0),                    'B': datetime.datetime(year=2020, month=6, day=1, hour=21, minute=0),                    'C': datetime.datetime(year=2020, month=6, day=1, hour=18, minute=0),                    'D': datetime.datetime(year=2020, month=6, day=1, hour=15, minute=0)} 如何返回具有最新日期和時間的密鑰?在我的示例中,最新的是鍵“B”。我已經嘗試在每個 datetime 對象中獲取最大小時數,但它僅在其他一切都保持不變時才有效。當月份和日期隨機變化時,情況就不同了。我想我錯過了一些日期時間模塊功能。我該如何繼續呢?
查看完整描述

3 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

使用max()帶key參數的函數:


import datetime


time_delta_dict = {'A': datetime.datetime(year=2020, month=6, day=1, hour=11, minute=0),

                   'B': datetime.datetime(year=2020, month=6, day=1, hour=21, minute=0),

                   'C': datetime.datetime(year=2020, month=6, day=1, hour=18, minute=0),

                   'D': datetime.datetime(year=2020, month=6, day=1, hour=15, minute=0)}


key_max, value_max = max(time_delta_dict.items(), key=lambda item: item[1])

print(key_max)

輸出:


B


查看完整回答
反對 回復 2022-12-20
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

您可以為此使用排序模塊


from datetime import datetime


time_delta_dict = {'A': datetime(year=2020, month=6, day=1, hour=11, minute=0), 

                   'B': datetime(year=2020, month=6, day=1, hour=21, minute=0), 

                   'C': datetime(year=2020, month=6, day=1, hour=18, minute=0), 

                   'D': datetime(year=2020, month=6, day=1, hour=15, minute=0)} 


key, date =  max(time_delta_dict.items(), key = lambda x: x[1])

print(key)

輸出:B


查看完整回答
反對 回復 2022-12-20
?
達令說

TA貢獻1821條經驗 獲得超6個贊

一種可能的解決方案:


from datetime import datetime


time_delta_dict = {'A': datetime(year=2020, month=6, day=1, hour=11, minute=0), 

                   'B': datetime(year=2020, month=6, day=1, hour=21, minute=0), 

                   'C': datetime(year=2020, month=6, day=1, hour=18, minute=0), 

                   'D': datetime(year=2020, month=6, day=1, hour=15, minute=0)}


max = max([time_delta_dict[i] for i in time_delta_dict])


v = [k for k in time_delta_dict if time_delta_dict[k] == max]

print(v[0])


查看完整回答
反對 回復 2022-12-20
  • 3 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號