Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Membuat Kamus Python Secara Dinamik daripada Pembolehubah?

Bagaimanakah Saya Boleh Membuat Kamus Python Secara Dinamik daripada Pembolehubah?

Barbara Streisand
Lepaskan: 2024-12-01 19:07:18
asal
598 orang telah melayarinya

How Can I Dynamically Create a Python Dictionary from Variables?

Penciptaan Kamus Dinamik daripada Pembolehubah

Introspeksi pembolehubah boleh menjadi alat yang berharga dalam pengaturcaraan Python, terutamanya apabila bekerja dengan struktur data dinamik. Satu tugas biasa ialah menukar koleksi pembolehubah menjadi kamus dengan nilai yang sepadan. Walaupun Python secara asalnya tidak menyokong mendapatkan nama pembolehubah sebagai rentetan, terdapat penyelesaian untuk mencapai fungsi ini.

Satu pendekatan melibatkan penggunaan kamus locals(), yang menyimpan semua pembolehubah tempatan dalam skop pada masa ini. Walau bagaimanapun, penggunaannya disertakan dengan beberapa had, kerana pembolehubah yang dibuat di luar skop semasa tidak akan disertakan. Ini boleh diatasi dengan mengulang secara manual kamus locals() dan mencari pembolehubah dengan nilai tertentu, seperti yang ditunjukkan di bawah:

a = 1
for k, v in list(locals().iteritems()):
    if v is a:
        a_as_str = k
Salin selepas log masuk

Kaedah ini mengembalikan nama rentetan pembolehubah yang diingini, yang kemudiannya boleh digunakan untuk membina kamus secara dinamik:

my_dict = dict(bar=bar, foo=foo)
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa pendekatan ini boleh menjadi mahal dari segi pengiraan untuk set pembolehubah yang besar, dan ia mungkin tidak selalu menjadi penyelesaian yang paling mudah. Walau bagaimanapun, ia menawarkan pilihan yang berdaya maju untuk situasi di mana penciptaan kamus dinamik diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Kamus Python Secara Dinamik daripada Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan