0
A
回答
7
if key not in dic:
dic[key] = None
這可能不像Olivier的代碼那麼簡短,但至少它明確且快速。
請不要使用dict
作爲變量名稱,它是內置的陰影。現在
10
d.setdefault(key) # sets d[key] to None if key is not in d
3
import collections
mydict = collections.defaultdict(lambda: None)
,以mydict[akey]
任何訪問將(如果akey
不存在如在mydict
一個鍵)設定mydict[akey]
到None
作爲副作用。
請注意,defaultdict
的初始值設定項要求無參數可調用,因此lambda
。
相關問題
- 1. 重構Python代碼
- 2. 重構Python代碼
- 3. iOS MapKit:代碼重構與小調整
- 4. 重構代碼
- 5. 如何重構此Python代碼?
- 6. Python代碼重構問題。簡化
- 7. 如何使這個C#代碼很小或重構此代碼
- 8. Linq代碼重構
- 9. Rshiny:重構代碼
- 10. C#代碼重構
- 11. 重構.NET代碼
- 12. MVC代碼重構
- 13. 重構JavaScript代碼
- 14. 重構swift代碼
- 15. 重構SQL代碼
- 16. C#代碼重構?
- 17. jQuery代碼重構
- 18. 重構代碼java
- 19. 重構jQuery代碼
- 20. Javascript代碼重構
- 21. Ruby代碼重構
- 22. 重構JScript代碼
- 23. 重構jQuery代碼
- 24. 代碼重構C#
- 25. 重構C#代碼
- 26. Scala重構重複代碼
- 27. Rails,重複代碼重構
- 28. 代碼重用和重構
- 29. 重構代碼重複
- 30. 重構重複jQuery代碼
你不需要顯式地使用'None','default'參數默認爲'None' – SilentGhost 2010-05-12 14:30:07
@SilentGhost:呵呵,我意識到這一點,並在你寫評論的同時改變了我的答案。 :-) – 2010-05-12 14:34:27
由於它實現了C中的檢查並因此避免了所有的臨時引用計數,所以這比其他任何方法都快*速度更快。 – 2010-05-12 18:32:59