有没有更优雅的写法?
我的做法是:我有一些键和日期。一个键可以对应多个日期,因此我创建了一个字典来表示这些日期列表。下面的代码能够正常工作,但我希望有一种更加优雅和Pythonic的方法。
dates_dict = dict()
for key, date in cur:
if key in dates_dict:
dates_dict[key].append(date)
else:
dates_dict[key] = [date]
我本以为下面的代码可以运行,但是却一直出现“NoneType”没有“append”属性的错误。dates_dict = dict()
for key, date in cur:
dates_dict[key] = dates_dict.get(key, []).append(date)
这可能与事实有关
print([].append(1))
None
但为什么?
collections.defaultdict
。它是Python的一个库,可以帮助你创建默认值为特定数据类型的字典。这可以使代码更加简洁和易于阅读。你可以在Python的文档中找到更多关于collections.defaultdict
的信息。 - Cory Kramerfor key, date in cur:
-cur
是什么? - Mawg says reinstate Monica