Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menapis Kamus Python Berdasarkan Keadaan Menggunakan Pemahaman Dict?

Bagaimanakah Saya Boleh Menapis Kamus Python Berdasarkan Keadaan Menggunakan Pemahaman Dict?

Barbara Streisand
Barbara Streisandasal
2024-11-13 02:27:02813semak imbas

How Can I Filter Python Dictionaries Based on Conditions Using Dict Comprehensions?

Menapis Kamus Berdasarkan Keadaan Menggunakan Pemahaman Dict

Memandangkan kamus dengan pasangan nilai kunci, adalah perkara biasa untuk menapis item tertentu berdasarkan pada kriteria tertentu. Kamus Python menyediakan beberapa kaedah untuk menapis, termasuk penggunaan teknik pemahaman.

Pendekatan Pemahaman Dict

Satu penyelesaian yang elegan untuk menapis kamus adalah melalui pemahaman dict. Sintaks ini membolehkan anda mencipta kamus baharu dengan menggunakan syarat pada setiap item dalam kamus asal. Kamus yang terhasil hanya akan mengandungi kunci dan nilai yang memenuhi kriteria yang ditetapkan.

Contohnya, untuk menapis kamus (titik) yang mengandungi koordinat titik ('x', 'y') dan pilih yang mempunyai nilai kurang daripada 5 untuk 'x' dan 'y', anda boleh menggunakan kod berikut:

{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}

Dalam versi Python sebelum 2.7, anda boleh menggunakan iteritems() dan bukannya item():

{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}

Penapisan Item dengan Pemahaman Senarai

Walaupun pemahaman dict menawarkan pendekatan yang ringkas, anda juga boleh menapis item menggunakan pemahaman senarai. Walau bagaimanapun, kaedah ini memerlukan langkah tambahan untuk membina kamus baharu:

points_small = {}
for item in [i for i in points.items() if i[1][0] < 5 and i[1][1] < 5]:
    points_small[item[0]] = item[1]

Kod ini mula-mula mencipta senarai item yang memenuhi syarat dan kemudian membina kamus baharu (points_small) dengan mengulang senarai. Walaupun tidak secekap menggunakan pemahaman dict, ia boleh berguna apabila manipulasi lanjut bagi item yang ditapis diperlukan sebelum mencipta kamus baharu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Kamus Python Berdasarkan Keadaan Menggunakan Pemahaman Dict?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah Kod Bersih?Artikel seterusnya:Apakah Kod Bersih?