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.
Untuk penciptaan kamus, kami menggunakan kurungan kerinting "{}". Mari lihat sintaks -
dict1 = {"Car": "AUDI"}
Di sini "Kereta" adalah kunci dan "AUDI" ialah nilai kunci.
Untuk membuat senarai, kami menggunakan kurungan segi empat sama "[]". Mari lihat sintaks -
lis1 = ["Name", "age", "gender", "qualification"]
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.
Dalam kaedah ini, kami menamakan terus kekunci dan memberikannya senarai nilai. Jom lihat ia dilaksanakan -
dict1 = {} dict1["Name"] = ["RAM", "RAVI", "TARUN", "MOHAN"] #assigning 1st key dict1["Age"] = [22, 23, 18, 27] #assigning 2nd key print(dict1)
{'Name': ['RAM', 'RAVI', 'TARUN', 'MOHAN'], 'Age': [22, 23, 18, 27]}
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 -
dict1 = {["Name", "Age", "Gender"]: "RAVI"}
dict1 = {["Name", "Age", "Gender"]: "RAVI"} TypeError: unhashable type: 'list'
melontarkan ralat kerana senarai tidak boleh diubah dan oleh itu tidak boleh digunakan sebagai kunci.
dict() dan defaultdict boleh digunakan untuk menjana kamus senarai. Mari lihat pelaksanaannya -
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)
defaultdict(<class 'list'>, {'Name': ['Arjun', 'RAVI', 'ADITYA'], 'Age': [22, 23, 28]})
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.
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 -
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)
{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]}
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.
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!