python 中hash 操作的 key 是否存在的判斷問題.

babyyellow發表於2017-07-20


>>> c="abcdeabccqq"
>>> for i in c:
... 
val=1+val.setdefault(c,0)
... 
>>> print val
{'a': 34, 'c': 34, 'abcdeabccqq': 33, 'e': 34, 'd': 34, 'q': 34, 'b': 34}

... 
>>> print val
{'a': 34, 'c': 34, 'abcdeabccqq': 33, 'e': 34, 'd': 34, 'q': 34, 'b': 34}




我們一般的操作習慣, 可能有來自於c 程式碼的習慣在裡面. 
一般要先判斷 hash[key] 在不在 
if  hash.haskey(key):
then  xxxxxx
如果利用hash.setdefault(key,xx) 的話, 就在寫程式碼的時候避免了上面的判斷, 讓程式碼看起來更整潔一點. 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2142343/,如需轉載,請註明出處,否則將追究法律責任。

相關文章