ชั้นcollections.defaultdict
ใช้โรงงานเริ่มต้นที่ใช้ในการสร้างค่าเริ่มต้น
หากค่าที่มีอยู่ในdict
วัตถุเหมือนจะเริ่มต้นFalse
เช่นสามารถสร้าง:
d_false = defaultdict(bool)
เป็นวิธี pythonic มากที่สุดในการบรรลุเหมือนกันสำหรับค่าเริ่มต้นTrue
คืออะไร?
ในแง่อื่น ๆ จะมีวัตถุ callable มาตรฐานกลับTrue
ซึ่งจะใช้ idiomatically เป็นญาติของbool
?
แน่นอนว่าโรงงานสามารถสร้างเป็นรูปแลมบ์ดาได้:
d_true = defaultdict(lambda: True)
แต่นี่อาจเป็นการพลิกโฉมพวงมาลัย
int() == 0
, list() == []
, str() == ''
ฯลฯ ดังนั้นผมจึงไม่คิดว่ามีวิธีมาตรฐานในการทำเช่นนี้
lambda: value
สร้างเป็นวิธีสำนวนโวหารเพื่อสร้าง dict ที่มีค่าเริ่มต้นคงที่; True
ฉันรู้ว่าไม่มีวิธีที่ง่ายที่จะได้รับฟังก์ชั่นกลับมา
object()
เป็นจริง - ไม่แน่ใจว่าเป็นประโยชน์
lambda: True
ใช้ได้ตราบใดที่คุณไม่จำเป็นต้องดองคำสั่งเริ่มต้นนั้น