Bagaimana untuk menggunakan senarai sebagai kunci kamus dalam Python 3?

WBOY
Lepaskan: 2023-08-28 20:57:02
ke hadapan
1734 orang telah melayarinya

如何在Python 3中将列表用作字典的键?

Kamus ialah salah satu struktur data yang paling berkuasa dalam bahasa pengaturcaraan Python. Ini ialah struktur data yang terdiri daripada pasangan nilai kunci. Ia mempunyai beberapa kelebihan; contohnya, mengakses nilai mempunyai kerumitan masa O(1), ia cekap memori, mudah dikemas kini, dipadam dan diulang, dan menyediakan banyak fungsi terbina dalam untuk operasi pantas.

Masalah yang berlaku apabila menggunakan senarai secara langsung

Kami mengikuti topik ini kerana masalah timbul apabila kami cuba menggunakan senarai sebagai kunci. Senarai ialah jenis data boleh ubah dalam Python. Jadi kita boleh memadam, mengemas kini dan menambah nilai di dalam senarai. Jadi jika kita menjana fungsi cincang daripada senarai dan item senarai, apabila item senarai berubah, kami tidak akan dapat mencari fungsi cincang lagi kerana fungsi cincang telah berubah.

Satu lagi masalah yang berpotensi ialah senarai berbeza mungkin mempunyai nilai cincang yang sama. Jika jumlah nilai dua senarai adalah sama, nilai cincang mereka juga akan sama. Dalam kes ini, jika salah satu daripada senarai digunakan sebagai kunci dalam kamus, dan senarai lain dengan cincang yang sama dicari, kamus mungkin memberikan hasil yang salah.

Tukar Senarai Kepada Tuple

Salah satu cara untuk menukar senarai kunci kamus kepada tupel dan menggunakannya sebagai kunci adalah dengan menggunakan arahan ini. Ambil perhatian bahawa walaupun nilai kekal sama, jenis data bukan lagi senarai

tatabahasa

<variable name> = tuple(<list to convert into tuple>)
Salin selepas log masuk

Di sini tuple mengambil satu parameter, iaitu nama senarai.

Contoh

Dalam kod berikut, kami mula-mula mencipta kamus kosong bernama my_dict Seterusnya, kami mencipta senarai kami yang bernama my_list Kami menggunakan kaedah tuple untuk menukar senarai menjadi objek Tuple Kami kini menggunakan objek Tuple sebagai rentetan "hello, dunia!"

my_dict = {}
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
my_dict[my_tuple] = "Hello, World!"
print(my_dict)
Salin selepas log masuk

Output

{(1, 2, 3): 'Hello, World!'}
Salin selepas log masuk

Tukar senarai kepada rentetan

Cara lain ialah menukar senarai kepada jenis data rentetan. String juga merupakan jenis data yang tidak boleh diubah oleh itu, kita boleh menggunakannya sebagai kunci kamus.

tatabahasa

<variable name> = ''.join(str(e) for e in <name of the list>)
Salin selepas log masuk

Pernyataan di sini mendapat elemen individu daripada senarai dan menggabungkannya menjadi rentetan. Fungsi Sertai menggabungkan urutan rentetan.

Contoh

Dalam kod berikut, kami mula-mula mencipta senarai bernama my_list Seterusnya, kami menggunakan kaedah gabungan yang mencipta rentetan elemen senarai Memandangkan rentetan itu boleh digunakan sebagai kunci kamus, kami menggunakan ini sebagai kunci kamus my_list_str.

my_list = [1, 2, 3]
my_list_str = ''.join(str(e) for e in my_list)
my_dict = {my_list_str: 'value'}
print(my_dict)
print(my_dict[my_list_str])
Salin selepas log masuk

Output

{'123': 'value'}
value
Salin selepas log masuk

Tukar senarai kepada JSON

Kami juga boleh menggunakan modul JSON dan fungsi terbina dalam untuk menukar senarai terlebih dahulu kepada rentetan menggunakan kaedah pembuangan dan kemudian menggunakan ini sebagai kunci kamus.

tatabahasa

<name of variable< = json.dumps(<name of list<)
Salin selepas log masuk

Berikut ialah kaedah pembuangan pustaka JSON, yang menyerikan objek Python ke dalam rentetan berformat JSON. Kaedah dumps menerima nama rentetan sebagai parameter

Contoh

Dalam kod di bawah, kami mula-mula mengimport pustaka JSON. Seterusnya, kami membuat senarai yang dipanggil my_list. Kami mencipta objek bersiri daripada senarai menggunakan kaedah pembuangan. Sekarang, kami mempunyai objek bersiri sebagai kunci kamus my_dict.

import json
my_list = [1, 2, 3]
my_key = json.dumps(my_list)
my_dict = {my_key: 'value'}
print(my_dict)
Salin selepas log masuk

Output

{'[1, 2, 3]': 'value'}
Salin selepas log masuk
Kesimpulan

Dalam artikel ini, kami mempelajari cara menggunakan senarai sebagai kunci kamus dalam Python 3. Kami memahami kesukaran yang kami hadapi jika kami secara langsung cuba menjadikan senarai sebagai kunci dalam kamus Python untuk menukar jenis data senarai kepada tupel, rentetan, dsb., yang merupakan jenis data tidak berubah Kami juga mempelajari cara menggunakan modul JSON untuk menggunakan senarai sebagai kunci kamus.

.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan senarai sebagai kunci kamus dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan