Có cách nào thanh lịch hơn để viết mã này không?Thêm vào danh sách trong từ điển Python
Điều tôi đang làm: Tôi có khóa và ngày. Có thể có một số ngày được chỉ định cho một khóa và vì vậy tôi đang tạo một từ điển danh sách các ngày để biểu diễn điều này. Mã sau hoạt động tốt, nhưng tôi đã hy vọng cho một phương pháp thanh lịch và Pythonic hơn.
dates_dict = dict()
for key, date in cur:
if key in dates_dict:
dates_dict[key].append(date)
else:
dates_dict[key] = [date]
Tôi đã mong đợi những điều sau đây hoạt động, nhưng tôi tiếp tục nhận được NoneType không có lỗi thêm thuộc tính.
dates_dict = dict()
for key, date in cur:
dates_dict[key] = dates_dict.get(key, []).append(date)
này có lẽ có cái gì để làm với thực tế rằng
print([].append(1))
None
nhưng tại sao?
Bạn nên nhìn vào [ 'collections.defaultdict'] (https://docs.python.org/2/library/collections.html#collections.defaultdict) – CoryKramer
bạn có thể thử sử dụng extend() thay vì append() – weefwefwqg3