Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Cekap Mengakses Elemen Kamus Arbitrari dalam Python?

Bagaimana untuk Cekap Mengakses Elemen Kamus Arbitrari dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-10-18 18:08:02947semak imbas

How to Efficiently Access Arbitrary Dictionary Elements in Python?

Pendekatan Alternatif untuk Mengakses Elemen Kamus Arbitrari dalam Python

Apabila berhadapan dengan mengakses elemen sewenang-wenangnya daripada kamus bukan kosong dalam Python, pendekatan biasa adalah menggunakan kod berikut:

<code class="python">mydict[list(mydict.keys())[0]]</code>

Walau bagaimanapun, kaedah ini boleh menyusahkan dan tidak cekap. Berikut ialah penyelesaian alternatif dan lebih elegan:

Pendekatan Tidak Memusnah dan Berulang:

Untuk Python 2 dan 3, anda boleh menggunakan yang berikut untuk mendapatkan nilai arbitrari tanpa mengubah suai kamus:

  • Python 3:
<code class="python">next(iter(mydict.values()))</code>
  • Python 2:
<code class="python">mydict.itervalues().next()</code>

Pendekatan Universal untuk Python 2 dan 3:

Untuk memastikan keserasian dengan Python 2 dan 3, pertimbangkan untuk menggunakan enam pakej:

<code class="python">import six
six.next(six.itervalues(mydict))</code>

Mengalih Keluar Item Semasa Mengakses :

Jika anda ingin mengalih keluar mana-mana item daripada kamus semasa mendapatkan semula nilainya, gunakan kaedah popitem():

<code class="python">key, value = mydict.popitem()</code>

Kamus Tertib (Python 3.6 ) :

Dalam Python versi 3.6 dan seterusnya, kamus dipesan. Oleh itu, mengakses elemen "pertama" (jika ia masuk akal dalam konteks anda) menggunakan pendekatan di atas harus mengembalikan item yang dimasukkan dahulu dalam kamus.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengakses Elemen Kamus Arbitrari 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