Tôi đang cố giữ từ điển các tệp đang mở để tách dữ liệu thành các tệp riêng lẻ. Khi tôi yêu cầu một tập tin từ từ điển tôi muốn nó được mở nếu khóa không có ở đó. Tuy nhiên, có vẻ như tôi không thể sử dụng lambda làm mặc định.có thể sử dụng lambda làm từ điển mặc định không?
ví dụ:
files = {}
for row in data:
f = files.get(row.field1, lambda: open(row.field1, 'w'))
f.write('stuff...')
Điều này không có tác dụng vì f được đặt thành hàm thay vì kết quả. setdefault sử dụng cú pháp ở trên cũng không hoạt động. Có bất cứ điều gì tôi có thể làm ngoài này:
f = files.get(row.field1)
if not f:
f = files[row.field1] = open(row.field1, 'w')
get() không làm tăng một lỗi chính nếu không tìm thấy mục đó. Ký hiệu []. ví dụ. tệp [key] – Jacob