Bagaimana untuk mencipta kamus senarai dalam Python

WBOY
Lepaskan: 2023-08-26 13:01:13
ke hadapan
2801 orang telah melayarinya

Bagaimana untuk mencipta kamus senarai dalam Python

Kamus dalam Python ialah koleksi data yang disimpan dalam bentuk pasangan nilai kunci. Kami boleh menetapkan jenis data yang berbeza sebagai nilai untuk kunci. Ia membantu pengekod menyimpan data dan genre kategori dan membina pangkalan data dengan sewajarnya.

Sebaliknya, senarai juga menyimpan data, tetapi di sini elemen tidak dikaitkan dengan berbilang nilai. Kamus dan senarai kedua-duanya diindeks. Dalam senarai, kami menyimpan data dalam bentuk jujukan, dan jujukan ini boleh dilalui dan dimanipulasi.

Dalam artikel ini, kami akan menggabungkan kedua-dua format ini dan mencipta kamus senarai. Sebelum kita menyelami topik ini, mari kita lihat gambaran ringkas artikel ini.

Buat Kamus

Untuk penciptaan kamus, kami menggunakan kurungan kerinting "{}". Mari lihat sintaks -

dict1 = {"Car": "AUDI"}
Salin selepas log masuk

Di sini "Kereta" adalah kunci dan "AUDI" ialah nilai kunci.

Buat senarai

Untuk membuat senarai, kami menggunakan kurungan segi empat sama "[]". Mari lihat sintaks -

lis1 = ["Name", "age", "gender", "qualification"]
Salin selepas log masuk

Di sini, "nama", "umur", "jantina" dan "kelayakan" ialah elemen senarai "lis1".

Apabila kami cuba menggabungkan format ini untuk menjana kamus senarai, ini bermakna kami perlu menganggap senarai sebagai pasangan nilai kunci. Tetapi persoalannya ialah sama ada senarai itu bertindak sebagai kunci atau nilai. Peraturan untuk memberikan kunci ialah ia mestilah "tidak boleh diubah" atau tidak boleh diubah.

Oleh itu, senarai tidak boleh bertindak sebagai kunci kamus. Jadi apabila berurusan dengan kamus senarai, kami menganggap senarai sebagai "nilai" kunci tidak boleh diubah.

Cara berbeza untuk mencipta kamus senarai

Tetapkan nilai pada senarai dalam bentuk subskrip

Dalam kaedah ini, kami menamakan terus kekunci dan memberikannya senarai nilai. Jom lihat ia dilaksanakan -

Contoh

dict1 = {} dict1["Name"] = ["RAM", "RAVI", "TARUN", "MOHAN"] #assigning 1st key dict1["Age"] = [22, 23, 18, 27] #assigning 2nd key print(dict1)
Salin selepas log masuk

Output

{'Name': ['RAM', 'RAVI', 'TARUN', 'MOHAN'], 'Age': [22, 23, 18, 27]}
Salin selepas log masuk

Di sini, kami mencipta kamus kosong dan kemudian menetapkan nilai utama secara luaran. "Nama" ialah kunci pertama dan "Umur" ialah kunci kedua.

Jika kita membalikkan susunan, iaitu kita menentukan senarai sebagai kunci kamus ini, maka mari kita lihat apa yang berlaku -

Contoh

dict1 = {["Name", "Age", "Gender"]: "RAVI"}
Salin selepas log masuk

Output

dict1 = {["Name", "Age", "Gender"]: "RAVI"} TypeError: unhashable type: 'list'
Salin selepas log masuk

melontarkan ralat kerana senarai tidak boleh diubah dan oleh itu tidak boleh digunakan sebagai kunci.

Gunakan kaedah dict atau defaultdict

Kedua-dua kaedah

dict() dan defaultdict boleh digunakan untuk menjana kamus senarai. Mari lihat pelaksanaannya -

Contoh

from collections import defaultdict lis1 = [("Name", "Arjun"), ("Age", 22), ("Age", 23), ("Age", 28), ("Name", "RAVI"),("Name", "ADITYA")] dict1 = defaultdict(list) for keys, values in lis1: dict1[keys].append(values) print(dict1)
Salin selepas log masuk

Output

defaultdict(, {'Name': ['Arjun', 'RAVI', 'ADITYA'], 'Age': [22, 23, 28]})
Salin selepas log masuk
  • Perkara yang menarik tentang kaedah ini ialah ia membolehkan maklumat senarai dihantar dalam kurungan untuk setiap nilai. Ini bermakna untuk kurungan tertentu, kita hanya boleh lulus satu nilai kunci.

  • Jika kita ingin menambah nilai kunci, kita memerlukan kurungan baharu dengan nama kunci yang betul. Ini meningkatkan kebolehbacaan program.

  • Di sini, kami mengimport modul koleksi untuk menggunakan kaedah "defaultdict". Kami lulus senarai dalam susunan maklumat yang betul. Kami menggunakan kaedah defaultdict untuk melakukan ini kerana ia lebih cekap dan mencipta nilai lalai sekiranya kunci hilang. Kami mengulangi senarai dan menambahkan setiap pasangan kunci dan nilai pada kamus.

Gunakan kaedah lalai yang ditetapkan

Kaedah

setdeafault() digunakan untuk mengembalikan nilai kamus yang dikaitkan dengan kunci yang diberikan. Perkara unik tentang kaedah ini ialah jika kunci yang ditentukan tidak wujud, maka ia mencipta kunci khusus itu dengan memasukkannya. Mari lihat pelaksanaannya -

Contoh

dict1 = {} lis1 = [23, 24, 28, 12, 22] for key in lis1: for values in range(int(key), int(key)+4): dict1.setdefault(values, []).append(key) print(dict1)
Salin selepas log masuk

Output

{23: [23, 22], 24: [23, 24, 22], 25: [23, 24, 22], 26: [23, 24], 27: [24], 28: [28], 29: [28], 30: [28], 31: [28], 12: [12], 13: [12], 14: [12], 15: [12], 22: [22]}
Salin selepas log masuk

Menggunakan kaedah ini, kita boleh mencipta rekod untuk setiap kunci. Masalah dengan pendekatan ini ialah pilihan jenis data, hanya entri berangka boleh dianggap sebagai nilai julat.

Di sini,

  • Kami mencipta kamus kosong dan kemudian memberikannya senarai tempat maklumat disimpan.

  • Kami mengulangi senarai dan mengasingkan kunci serta nilai. Kami mencipta setiap entri berangka sebagai kunci dan kemudian selepas menggunakan satu lagi "untuk gelung" kami menetapkan julat untuk permulaan nilai.

  • Kami menambahkan nilai dan kuncinya pada kamus kosong.

  • Akhirnya kami cetak kamus.

Kesimpulan

Dalam artikel ini, kami mempelajari tentang konsep asas penciptaan dan pemprosesan kamus. Kami membincangkan pelbagai kaedah untuk mencipta kamus senarai dan melihat kerumitan dan batasan setiap kaedah.

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

Label berkaitan:
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!