Pada artikel ini kita akan membahas berbagai cara untuk mengonversi satu atau beberapa daftar ke kamus dengan Python Show
Konversi berikut dari daftar ke kamus akan dibahas di sini,
Mengonversi Daftar ke Kamus dengan nilai yang samaMisalkan kita memiliki daftar string i. e # List of strings listOfStr = ["hello", "at" , "test" , "this" , "here" , "now" ] Sekarang kami ingin membuat kamus dengan semua elemen dalam daftar ini sebagai kunci. Untuk setiap nilai kunci akan sama i. e. 5. Mari kita lihat bagaimana melakukannya i. e Menggunakan pemahaman kamus Iklan ''' Converting a list to dictionary with list elements as keys in dictionary All keys will have same value ''' dictOfWords = { i : 5 for i in listOfStr }_ Isi kamus akan menjadi, hello :: 5 here :: 5 this :: 5 test :: 5 at :: 5 now :: 5 Menggunakan dikt. fromKeys() ''' Converting a list to dictionary with list elements as keys in dictionary using dict.fromkeys() ''' dictOfWords = dict.fromkeys(listOfStr , 1) dikt. fromKeys() menerima daftar dan nilai default. Ini mengembalikan kamus dengan item dalam daftar sebagai kunci. Semua item kamus akan memiliki nilai yang sama, yang diteruskan dari fromkeys() Jika tidak ada nilai default yang diteruskan fromKeys() maka nilai default untuk kunci dalam kamus adalah Tidak ada Konversi item Daftar sebagai kunci dalam kamus dengan nilai yang disebutkanMisalkan kita memiliki daftar string i. e # List of strings listOfStr = ["hello", "at" , "test" , "this" , "here" , "now" ] Mari buat kamus dari daftar ini dengan elemen daftar sebagai kunci dan nilai sebagai bilangan bulat dari 0 hingga n-1 (n adalah ukuran daftar) i. e ''' Converting a list to dictionary with list elements as values in dictionary and keys are enumerated index starting from 0 i.e. index position of element in list ''' dictOfWords = { i : listOfStr[i] for i in range(0, len(listOfStr) ) } Isi kamus akan menjadi, 0 :: hello 1 :: at 2 :: test 3 :: this 4 :: here 5 :: now_ Ubah dua daftar menjadi kamusMisalkan kita memiliki dua daftar i. e # List of strings listOfStr = ["hello", "at" , "test" , "this" , "here" , "now" ] # List of ints listOfInt = [56, 23, 43, 97, 43, 102] Mari buat kamus dengan elemen listOfStr sebagai kunci dan elemen listOfInt sebagai nilai menggunakan zip() i. e # Create a zip object from two lists zipbObj = zip(listOfStr, listOfInt) # Create a dictionary from zip object dictOfWords = dict(zipbObj)_ Zip() menerima sejumlah objek yang dapat diubah dan mengembalikan daftar tupel. Setiap entri dalam tuple berisi elemen dari setiap objek yang dapat diubah Isi kamus adalah, Dictionary from two Lists hello :: 56 here :: 43 this :: 97 test :: 43 at :: 23 now :: 102_
Mengonversi daftar tupel ke kamusMisalkan kita memiliki daftar tupel dengan dua kolom di setiap entri i. e ''' Converting a list to dictionary with list elements as keys in dictionary All keys will have same value ''' dictOfWords = { i : 5 for i in listOfStr }_0 Kami dapat langsung meneruskan daftar tupel ini ke konstruktor kamus i. e ''' Converting a list to dictionary with list elements as keys in dictionary All keys will have same value ''' dictOfWords = { i : 5 for i in listOfStr }_1 Entri di kolom pertama akan menjadi kunci dan entri di kolom kedua akan menjadi nilai di kamus baru. Isi kamus akan menjadi, Daftar dan kamus adalah kumpulan Python yang memungkinkan Anda menyimpan nilai serupa dalam satu struktur dataSelain itu, daftar akan memungkinkan Anda untuk menyimpan data dalam urutan tertentu, sedangkan kamus tidak diurutkan dan tidak dapat menyimpan beberapa nilai duplikat. Mengubah daftar menjadi kamus adalah operasi standar Python. Jadi mari kita lihat bagaimana melakukannya Daftar Python ke kamusUntuk mengonversi daftar menjadi kamus dengan Python, gunakan pemahaman daftar dan buat pasangan nilai kunci dari elemen berurutan, lalu ketikkan daftar ke jenis kamus. Nilai yang dikembalikan dikonversi dari daftar ke tipe data kamus def listToDict(lst): op = {lst[i]: lst[i + 1] for i in range(0, len(lst), 2)} return op lst = ['m', 1, 'b', 2, 'k', 3] print(listToDict(lst)) Keluaran➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt Dalam contoh di atas, kami menggunakan perulangan for untuk memisahkan elemen ganjil dan genap lalu menggunakan fungsi range() untuk membentuk nilai ganjil ke kunci dan nilai ke kamus. Kami telah menggunakan metode pemahaman kamus Jadi, kami mendapatkan kamus yang dikonversi dari daftar di output Mengubah daftar menjadi kamus dengan nilai yang samaUntuk mengubah daftar menjadi kamus dengan nilai yang sama, gunakan pemahaman kamus. Nilai setiap kunci akan sama. # app.py def listToDict(lst): op = { i : 5 for i in lst } return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print(listToDict(lst)) Lihat hasilnya ➜ pyt python3 app.py {'millie': 5, 'caleb': 5, 'finn': 5, 'sadie': 5, 'noah': 5} ➜ pyt Semua elemen daftar menjadi kunci dalam contoh di atas, dan 5 adalah nilai untuk semua elemen Daftar python untuk dict menggunakan dict. fromKeys()Kamus. fromKeys() adalah metode Python bawaan yang membuat kamus baru dari urutan elemen tertentu dengan nilai yang diberikan oleh pengguna. Metode fromKeys() mengembalikan kamus dengan kunci dan nilai yang ditentukan. Kami membuat kamus dari daftar, jadi Python Dict fromKeys() bisa mendapatkan nilai kunci dari Daftar Python dan mengubahnya menjadi kunci kamus. Kami melewatkan parameter kedua sebagai 5, sebuah nilai, sehingga kami mendapatkan keluaran yang sama dengan program di atas # app.py def listToDict(lst): op = dict.fromkeys(lst , 5) return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print(listToDict(lst)) Keluaran➜ pyt python3 app.py {'millie': 5, 'caleb': 5, 'finn': 5, 'sadie': 5, 'noah': 5} ➜ pyt Dikte. fromKeys() menerima daftar dan nilai default. Ini mengembalikan kamus dengan item dalam daftar sebagai kunci. Semua item kamus akan memiliki nilai yang sama yang diteruskan di fromkeys() Mengonversi elemen daftar sebagai nilai dalam kamus dengan kunci yang diindeks dengan PythonPada contoh pertama artikel ini, kami telah menggunakan item daftar sebagai kunci dan nilai sebagai bilangan bulat dalam kamus. Namun, dalam contoh ini, kami membuat kamus dengan kunci yang diindeks, dan nilainya adalah item daftar python menggunakan pemahaman kamus Lihat kode berikut # app.py def listToDict(lst): op = { i : lst[i] for i in range(0, len(lst) ) } return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print(listToDict(lst)) Keluaran➜ pyt python3 app.py {0: 'millie', 1: 'caleb', 2: 'finn', 3: 'sadie', 4: 'noah'} ➜ pyt Mengubah dua daftar menjadi kamusUntuk mengonversi dua daftar menjadi kamus dengan Python, gunakan fungsi zip() , yang mengembalikan daftar tupel dan meneruskan daftar tupel itu ke fungsi dict() , yang mengembalikan kamus Katakanlah kita memiliki dua daftar lstStr = ['millie', 'caleb', 'finn', 'sadie', 'noah'] lstInt = [11, 21, 19, 29, 46] Kami akan mengambil daftar pertama sebagai kunci kamus dan daftar kedua sebagai nilai Untuk mencapainya dan membuat kamus dari dua daftar, kita dapat menggunakan fungsi Python zip() Lihat kode lengkap di bawah ini # app.py def listToDict(lstA, lstB): zippedLst = zip(lstA, lstB) op = dict(zippedLst) return op lstStr = ['millie', 'caleb', 'finn', 'sadie', 'noah'] lstInt = [11, 21, 19, 29, 46] print(listToDict(lstStr, lstInt)) Lihat hasilnya ➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt0 Fungsi zip() menerima beberapa objek iterable dan mengembalikan daftar tupel Setiap entri dalam tuple berisi elemen dari setiap objek yang dapat diubah Kami telah melewati dua daftar objek dalam fungsi zip(), sehingga akan mengembalikan daftar tupel, di mana setiap tupel berisi entri dari kedua daftar. Kemudian kami membuat objek kamus dari daftar tupel ini Jika panjang daftar kunci kurang dari daftar nilai, maka elemen yang tersisa dalam daftar nilai akan dilewati Mengonversi daftar tupel ke kamus dengan PythonUntuk mengonversi daftar tupel ke kamus dengan Python, gunakan metode dict() dan teruskan daftar tupel ke metode dict() , yang mengembalikan kamus ➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt1 Keluaran➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt0 Kami dapat langsung meneruskan daftar tupel ini ke konstruktor kamus Entri di kolom pertama akan menjadi kunci, dan entri di kolom kedua akan menjadi nilai di kamus baru Bisakah saya menggunakan daftar sebagai kunci kamus Python?Kedua, kunci kamus harus dari jenis yang tidak dapat diubah. Misalnya, Anda dapat menggunakan integer, float, string, atau Boolean sebagai kunci kamus. Namun, baik daftar maupun kamus lain tidak dapat berfungsi sebagai kunci kamus , karena daftar dan kamus dapat berubah.
Bagaimana Anda membuat daftar menjadi nilai kamus?Berikut adalah 3 pendekatan untuk mengekstrak nilai kamus sebagai daftar dengan Python. . (1) Menggunakan fungsi list(). my_list = daftar(my_dict. nilai()) (2) Menggunakan Pemahaman Daftar. my_list = [i untuk i di my_dict. nilai()] (3) Menggunakan For Loop. my_list = [] untuk i di my_dict. nilai(). daftarku. tambahkan (i) Bagaimana Anda menambahkan item dari daftar ke kamus dengan Python?Metode 1. Menggunakan tanda += pada kunci dengan nilai kosong
. |