Kelas collections.defaultdict
mengambil pabrik default, yang digunakan untuk menghasilkan nilai default.
Jika nilai-nilai yang terkandung dalam objek- dict
like seharusnya default False
, instance dapat dibuat sebagai:
d_false = defaultdict(bool)
Apa cara paling pythonic untuk mencapai hal yang sama untuk nilai default True
?
Dengan kata lain, apakah ada objek callable standar True
yang kembali yang secara idiomatis digunakan sebagai kerabat bool
?
Tentu saja, pabrik dapat dibangun sebagai ungkapan lambda:
d_true = defaultdict(lambda: True)
tapi ini mungkin menciptakan kembali kemudi.
int() == 0
, list() == []
, str() == ''
, dll Jadi saya tidak berpikir ada cara standar untuk melakukan hal ini.
lambda: value
konstruk adalah cara idiomatik Pythonic untuk membangun dict dengan nilai default statis; Saya tahu tidak ada cara sederhana untuk mendapatkan fungsi kembali True
.
object()
benar - tidak yakin apakah itu berguna
lambda: True
tidak apa-apa asalkan Anda tidak perlu acar defaultdict itu.