Saya ingin menguji sama ada kunci wujud dalam kamus sebelum mengemas kini nilainya. Saya menulis kod berikut:
if 'key1' in dict.keys(): print "blah" else: print "boo"
Saya rasa ini bukan cara terbaik untuk menyelesaikan tugasan ini. Adakah terdapat cara yang lebih baik untuk menguji kunci dalam kamus?
Guna terus
key in my_dict
而不是key in my_dict.keys()
:Ini akan menjadilebih pantaskerana ia menggunakan cincang O(1) kamus, dan bukannya melakukan carian linear O(n) senarai kunci.
Adakah terdapat kunci dalam
in
测试dict
:Gunakan
dict.get()
untuk memberikan nilai lalai apabila kunci tidak wujud:Untuk memberikan nilai lalai bagisetiap kunci, gunakan
dict.setdefault()
pada setiap kerja:...atau lebih baik lagi, gunakan modul
defaultdict
来自collections
: