Semak sama ada kunci yang diberikan sudah wujud dalam kamus
P粉489081732
P粉489081732 2023-10-08 11:38:59
0
2
808

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?

P粉489081732
P粉489081732

membalas semua(2)
P粉674876385

Guna teruskey in my_dict而不是key in my_dict.keys():

if 'key1' in my_dict:
    print("blah")
else:
    print("boo")

Ini akan menjadi lebih pantas kerana ia menggunakan cincang O(1) kamus, dan bukannya melakukan carian linear O(n) senarai kunci.

P粉914731066

Adakah terdapat kunci dalam

in 测试dict:

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("this will execute")

if "nonexistent key" in d:
    print("this will not")

Gunakan dict.get() untuk memberikan nilai lalai apabila kunci tidak wujud:

d = {}

for i in range(100):
    key = i % 10
    d[key] = d.get(key, 0) + 1

Untuk memberikan nilai lalai bagi setiap kunci , gunakan dict.setdefault() pada setiap kerja:

d = {}

for i in range(100):
    d[i % 10] = d.setdefault(i % 10, 0) + 1

...atau lebih baik lagi, gunakan modul defaultdict 来自 collections:

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!