gpt4 book ai didi

python字典日期时间作为键,keyError

转载 作者:太空狗 更新时间:2023-10-29 21:05:13 26 4
gpt4 key购买 nike

我正在尝试在 Linux 中使用 cron 运行一个 Python 脚本,它应该构建一个数据字典。我正在尝试使用 datetime().now().time() 作为字典中的键,但它似乎会引发错误。

datetime 类型不能用作 Python 中的字典键吗?如果是这样,我有哪些替代方案?

代码:

time_now = dt.datetime.now().time()
date_today = dt.datetime.now().date()
usage_dict_hourly = {}
date_wise_dict = {}

def constructing_dict(data_int):
date_wise_dict[usage_dict_hourly[time_now]] = data_int
print date_wise_dict

错误:

<ipython-input-9-ef6a500cc71b> in constructing_dict(data_int)
36
37 def constructing_dict(data_int):
---> 38 date_wise_dict[usage_dict_hourly[time_now]] = data_int
39 print date_wise_dict
40

KeyError: datetime.time(22, 40, 33, 746509)

最佳答案

回答关于日期时间作为字典键的问题:

是的,datetime 的时间对象可以用作字典键。

使用对象作为字典键的条件:

To be used as a dictionary key, an object must support the hash function (e.g. through __hash__), equality comparison (e.g. through __eq__ or __cmp__)(...)

(来源:DictionaryKeys)

引用条件的日期时间支持:

Supported operations:

...

  • hash, use as dict key

(来源:datetime - time Objects)

但是,您会收到此异常,因为字典 usage_dict_hourly 为空。

usage_dict_hourly 使用 {} 启动。因此,当您尝试在函数 constructing_dict 中查找具有键 time_now 的元素时,它会引发 KeyError 异常,因为该键尚未找到了。

关于python字典日期时间作为键,keyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com