Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah anda boleh memangkas kamus dengan cekap berdasarkan keadaan tersuai?

Bagaimanakah anda boleh memangkas kamus dengan cekap berdasarkan keadaan tersuai?

Linda Hamilton
Linda Hamiltonasal
2024-11-15 01:29:02560semak imbas

How can you efficiently prune a dictionary based on a custom condition?

Memangkasan Kamus Berdasarkan Keadaan Tersuai

Apabila bekerja dengan kamus, selalunya berguna untuk memperhalusi kandungannya berdasarkan kriteria yang ditentukan. Katakan anda mempunyai kamus mata yang diwakili sebagai tupel dan anda berminat untuk mengekstrak hanya titik yang kedua-dua koordinat x dan y adalah kurang daripada 5.

Secara tradisinya, satu pendekatan melibatkan lelaran ke atas item kamus menggunakan pemahaman senarai:

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]

Walaupun kaedah ini berfungsi, terdapat penyelesaian yang lebih ringkas menggunakan pemahaman kamus:

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

Ungkapan ringkas ini menjana kamus baharu di mana kunci dan nilai memuaskan syarat yang ditetapkan. Begitu juga, dalam Python 2.7 dan ke atas, sintaks berikut boleh digunakan:

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

Dengan menggunakan pemahaman kamus, anda memperoleh cara yang elegan dan cekap untuk menapis kamus berdasarkan keadaan sewenang-wenangnya, memberikan pendekatan yang lebih diperkemas untuk manipulasi data.

Atas ialah kandungan terperinci Bagaimanakah anda boleh memangkas kamus dengan cekap berdasarkan keadaan tersuai?. 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