Kamus Python (dikt) untuk pemprosesan gelung: keys(), values(), items()

Perniagaan

Untuk menggelungkan elemen objek kamus Python dengan pernyataan for, gunakan kaedah berikut pada objek kamus, yang juga boleh digabungkan dengan list() untuk mendapatkan senarai semua kunci dan nilai dalam kamus.

  • keys():Untuk pemprosesan gelung untuk setiap kunci elemen
  • values():Untuk pemprosesan gelung bagi setiap nilai elemen
  • items():Untuk pemprosesan gelung untuk kunci dan nilai setiap elemen

Objek kamus berikut ialah contohnya.

d = {'key1': 1, 'key2': 2, 'key3': 3}

Kekunci boleh diperolehi dengan menukar objek kamus dalam pernyataan for sebagaimana adanya.

for k in d:
    print(k)
# key1
# key2
# key3

keys():Untuk pemprosesan gelung untuk setiap kunci elemen

Seperti yang dinyatakan di atas, kunci boleh diperolehi dengan menukar objek kamus seperti dalam pernyataan for, tetapi kaedah keys() juga boleh digunakan.

for k in d.keys():
    print(k)
# key1
# key2
# key3

Kaedah keys() mengembalikan kelas dict_keys. Jika anda ingin membuat senarai, anda boleh menggunakan fungsi list().

keys = d.keys()
print(keys)
print(type(keys))
# dict_keys(['key1', 'key2', 'key3'])
# <class 'dict_keys'>

k_list = list(d.keys())
print(k_list)
print(type(k_list))
# ['key1', 'key2', 'key3']
# <class 'list'>

DICT_KEYS mampu melaksanakan operasi set.

values():Untuk pemprosesan gelung bagi setiap nilai elemen

Jika anda ingin melakukan pemprosesan gelung untuk setiap nilai elemen, gunakan kaedah values().

for v in d.values():
    print(v)
# 1
# 2
# 3

Kaedah values() mengembalikan kelas dict_values. Jika anda ingin membuat senarai, anda boleh menggunakan fungsi list().

values = d.values()
print(values)
print(type(values))
# dict_values([1, 2, 3])
# <class 'dict_values'>

v_list = list(d.values())
print(v_list)
print(type(v_list))
# [1, 2, 3]
# <class 'list'>

Kerana nilai mungkin bertindih, operasi set dict_values ​​tidak disokong.

items():Untuk pemprosesan gelung untuk kunci dan nilai setiap elemen

Jika anda ingin melakukan proses gelung for untuk kedua-dua kunci dan nilai setiap elemen, gunakan kaedah item().

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

(key, value)Oleh itu, ia boleh diterima sebagai tupel.

for t in d.items():
    print(t)
    print(type(t))
    print(t[0])
    print(t[1])
    print('---')
# ('key1', 1)
# <class 'tuple'>
# key1
# 1
# ---
# ('key2', 2)
# <class 'tuple'>
# key2
# 2
# ---
# ('key3', 3)
# <class 'tuple'>
# key3
# 3
# ---

Kaedah item() mengembalikan kelas dict_items. Jika anda ingin membuat senarai, anda boleh menggunakan fungsi list(). Setiap elemen adalah tuple.
(key, value)

items = d.items()
print(items)
print(type(items))
# dict_items([('key1', 1), ('key2', 2), ('key3', 3)])
# <class 'dict_items'>

i_list = list(d.items())
print(i_list)
print(type(i_list))
# [('key1', 1), ('key2', 2), ('key3', 3)]
# <class 'list'>

print(i_list[0])
print(type(i_list[0]))
# ('key1', 1)
# <class 'tuple'>

DICT_ITEMS juga boleh melaksanakan operasi set.