【发布时间】:2014-12-09 15:50:49
【问题描述】:
有没有更优雅的方式来编写这段代码?
我在做什么:我有钥匙和日期。可以为一个键分配多个日期,因此我正在创建一个日期列表字典来表示这一点。以下代码工作正常,但我希望有一个更优雅和 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 has no attribute append 错误。
dates_dict = dict()
for key, date in cur:
dates_dict[key] = dates_dict.get(key, []).append(date)
这可能与以下事实有关
print([].append(1))
None
但是为什么?
【问题讨论】:
-
你可以尝试使用 extend() 而不是 append()
-
for key, date in cur:-cur是什么? -
@Mawg 这是不久前的事了,但我可能正在使用与 Python 的 sqlite3 库关联的游标对象。
标签: python list python-3.x dictionary