Ferhenga Python (dikt) ji bo pêvajokirina lûkê: keys(), nirx(), hêman()

Dikan

Ji bo ku hêmanên objeyek ferhengê ya Python bi daxûyaniyek for-ê ve bigerin, rêbaza jêrîn li ser tiştê ferhengê bikar bînin, ev jî dikare bi list() re were berhev kirin da ku navnîşek ji hemî keys û nirxên ferhengê werbigire.

  • keys():Ji bo pêvajoyek loop ji bo her key element
  • values():Ji bo pêvajoyek loopê ji bo her nirxa elementê
  • items():Ji bo pêvajoyek lûkê ji bo mift û nirxa her elementê

Tişta ferhengê ya jêrîn mînakek e.

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

Bi zivirîna objeya ferhengê di bêjeyek ji bo ku ew e de bişkok dikarin werin bidestxistin.

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

keys():Ji bo pêvajoyek loop ji bo her key element

Wekî ku li jor hatî behs kirin, bi zivirandina objeya ferhengê wekî ku di daxuyaniyekê de ye, bişkok dikarin werin bidestxistin, lê rêbaza keys() jî dikare were bikar anîn.

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

Rêbaza keys() çîna dict_keys vedigerîne. Heke hûn dixwazin navnîşek çêbikin, hûn dikarin fonksiyona list() bikar bînin.

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 karibe operasyonên sazkirî pêk bîne.

values():Ji bo pêvajoyek loopê ji bo her nirxa elementê

Heke hûn dixwazin ji bo her nirxa hêmanê pêvajoyek for-loop pêk bînin, rêbaza nirxên () bikar bînin.

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

Rêbaza values() çîna dict_values ​​vedigerîne. Heke hûn dixwazin navnîşek çêbikin, hûn dikarin fonksiyona list() bikar bînin.

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'>

Ji ber ku dibe ku nirx li hev bicivin, operasyona sazkirî ya dict_values ​​nayê piştgirî kirin.

items():Ji bo pêvajoyek lûkê ji bo mift û nirxa her elementê

Heke hûn dixwazin hem ji bo mifteyê hem jî ji bo nirxa her hêmanek pêvajoyek for-ê pêk bînin, rêbaza hêmanan () bikar bînin.

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

(key, value)Ji ber vê yekê, ew dikare wekî tîrêjê were wergirtin.

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
# ---

Rêbaza hêman() çîna dict_items vedigerîne. Heke hûn dixwazin navnîşek çêbikin, hûn dikarin fonksiyona list() bikar bînin. Her hêmanek e.
(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 her weha dikare kargêriyên mîhengkirî pêk bîne.