Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menapis Kamus Menggunakan Fungsi Keadaan dalam Python?

Bagaimana Menapis Kamus Menggunakan Fungsi Keadaan dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-11 06:44:02930semak imbas

How to Filter a Dictionary Using a Condition Function in Python?

Menapis Kamus Menggunakan Fungsi Keadaan

Kamus Python, terdapat di mana-mana dalam tugas manipulasi data, menyediakan cara yang berkuasa untuk menyimpan dan mendapatkan maklumat berdasarkan pada kunci. Walau bagaimanapun, mungkin terdapat situasi di mana anda perlu mengekstrak subset kandungan kamus berdasarkan kriteria tertentu. Mari kita teroka contoh di mana kita ingin menapis kamus untuk memilih titik yang koordinat x dan ynya kedua-duanya kurang daripada 5.

Pendekatan Asal

Satu pendekatan yang mungkin melibatkan lelaran atas item kamus, menyemak koordinat setiap titik dan memilih yang memenuhi syarat. Pendekatan ini, walaupun mudah, boleh bertele-tele dan terdedah kepada ralat.

points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)}
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]

Penyelesaian Elegan

Python menyediakan penyelesaian yang lebih elegan menggunakan pemahaman dict. Pemahaman dict membolehkan anda mencipta kamus baharu berdasarkan syarat yang ditentukan, dengan sintaks: {k: v untuk k, v dalam keadaan_dikt sedia ada}. Dalam kes kami, kami boleh menggunakan sintaks ini untuk mencipta kamus yang ditapis:

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

Keserasian Python 2

Dalam Python 2, kaedah iteritems() digunakan bukannya item(). Kod untuk Python 2 ialah:

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

Sintaks padat dan ekspresif ini memudahkan untuk memanipulasi kamus dan mengekstrak data tertentu berdasarkan syarat. Pemahaman dict Python menawarkan alat yang berkuasa untuk menapis dan mengubah kandungan kamus dengan cekap dan ringkas.

Atas ialah kandungan terperinci Bagaimana Menapis Kamus Menggunakan Fungsi Keadaan dalam Python?. 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