Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tiga kaedah untuk digunakan Untuk gelung untuk melintasi kamus Python (contoh terperinci)

Tiga kaedah untuk digunakan Untuk gelung untuk melintasi kamus Python (contoh terperinci)

WBOY
WBOYke hadapan
2022-04-18 18:18:254343semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang python terutamanya memperkenalkan tiga kaedah tentang cara menggunakan kamus untuk merentasi Python Mari kita lihat bersama-sama .

Tiga kaedah untuk digunakan Untuk gelung untuk melintasi kamus Python (contoh terperinci)

Pembelajaran yang disyorkan: tutorial video python

Dalam Python, bagaimana menggunakan gelung "untuk" untuk melintasi kamus?

Hari ini kami akan menunjukkan tiga kaedah dan belajar melintasi kamus bersarang.

Sebelum pertempuran sebenar, kita perlu mencipta kamus data simulasi.

dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'}

Kaedah 1: Lelaran menggunakan For Loop Index

Cara paling mudah untuk mengulang kamus dalam Python, ialah Letakkan terus ke dalam gelung for.

Python akan secara automatik menganggap dict_1 sebagai kamus dan membolehkan anda mengulangi kekuncinya. Kemudian, kita boleh menggunakan pengendali indeks untuk mendapatkan setiap nilai.

for key in dict_1:
    print(key, ":", dict_1[key])

Jika anda ingin menyusun kekunci mengikut susunan abjad, anda boleh menggunakan kaedah sorted() Penggunaan khusus adalah seperti berikut.

for key in sorted(dict_1):
    print(key, ":", dict_1[key])

Kaedah 2: Lelaran menggunakan indeks .keys()

Gunakan kaedah .keys() untuk mengembalikan objek Python yang mengandungi kunci kamus, The keputusan yang sama seperti kaedah 1 boleh diperolehi. Begitu juga, ia juga perlu digunakan bersama dengan pengendali pengindeksan.

for key in dict_1.keys():
    print(key, '-->', dict_1[key])

Kaedah 3: Lelaran menggunakan .items()

Malah, cara yang paling "pythonic" untuk mengulang atas kamus adalah untuk Cara yang elegan ialah menggunakan kaedah .items().

print(dict_1.items())

Untuk mengulangi kekunci dan nilai kamus transaction_data, anda hanya perlu "membongkar" dua item yang tertanam dalam tupel, seperti ini:

for k,v in dict_1.items():
    print(k,">>",v)

Perhatikan bahawa k dan v hanyalah alias standard untuk "kunci" dan "nilai", tetapi anda boleh memilih konvensyen penamaan lain. Sebagai contoh, kita boleh menggantikan

dengan a dan b dan kita akan mendapat output yang sama.

for a,b in dict_1.items():
    print(a,"-",b)

Lanjutan: Melintasi kamus bersarang

Kadangkala, kita akan menemui kamus yang lebih kompleks—— Kamus bersarang.

Jadi apa yang perlu kita lakukan dalam situasi ini?

dict_2 = {"num_1":{'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'},
          "num_2":{'Name': 'BOb', 'Age': 32, 'Class': 'Six','Address':'Shanghai'},
          "num_3":{'Name': 'Tom', 'Age': 25, 'Class': 'Second','Address':'Wuhan'}}dict_2

Untuk membongkar pasangan nilai kunci kepunyaan setiap kamus bersarang, kita boleh melakukan ini:

for k, v in dict_2.items():
    if type(v) is dict:
        for nk, nv in v.items():
            print(nk, "→", nv)

Nilai mengikut jika penyataan Adakah nilai nilai kamus Jika ya, gunakan kaedah 3 yang dinyatakan sebelum ini dan gunakan .item() untuk keluaran berulang.

Keputusan larian adalah seperti berikut.

Jika anda hanya mahu menyahmampat sebahagian daripada kamus, anda boleh menambah syarat dalam pernyataan if.

for k, v in dict_2.items():
    if type(v) is dict and k == 'num_2':
        for sk, sv in v.items():
            print(sk, "-->", sv)

hanya mengeluarkan kamus num_2 Hasil larian adalah seperti berikut.

Di atas ialah petua untuk menggunakan gelung "untuk" untuk melintasi kamus dalam Python.

Pembelajaran yang disyorkan: tutorial video python

Atas ialah kandungan terperinci Tiga kaedah untuk digunakan Untuk gelung untuk melintasi kamus Python (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam