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

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 menjadilebih pantaskerana 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")

    Gunakandict.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 bagisetiap kunci, gunakandict.setdefault()pada setiap kerja:

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

    ...atau lebih baik lagi, gunakan moduldefaultdict来自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!