Pada artikel ini, kita akan membahas berbagai cara untuk mengonversi semua kunci kamus python ke daftar
Daftar isi
Konversikan semua kunci kamus ke daftar menggunakan list[]
Di Python, objek kamus juga merupakan objek yang dapat diulang, yang dapat digunakan untuk mengulang semua kunci kamus. Jadi, kita bisa meneruskan objek iterable ini ke fungsi list[], itu akan mengembalikan daftar yang berisi semua kunci kamus. Sebagai contoh,
# Dictionary of string and int word_freq = { "Hello": 56, "at": 23, "test": 43, "this": 78, "why": 89, "Hi": 51, "How": 79 } # Convert all keys of dictionary to list list_of_keys = list[word_freq] print[list_of_keys]
Keluaran
['Hello', 'at', 'test', 'this', 'why', 'Hi', 'How']_
Kami membuat daftar semua kunci kamus
Ubah semua kunci kamus menjadi daftar menggunakan Pemahaman Daftar
Dalam Python, kelas kamus menyediakan fungsi items[], yang mengembalikan urutan iterable [dict_items] dari semua pasangan kunci-nilai kamus. Kita dapat menggunakan pemahaman daftar untuk mengulangi semua item kamus menggunakan urutan yang dikembalikan oleh items[] dan membuat daftar kunci saja. Sebagai contoh,
# Dictionary of string and int word_freq = { "Hello": 56, "at": 23, "test": 43, "this": 78, "why": 89, "Hi": 51, "How": 79 } # List of all keys of a dictionary list_of_keys = [key for key, value in word_freq.items[]] print[list_of_keys]
Keluaran
['Hello', 'at', 'test', 'this', 'why', 'Hi', 'How']_
Kami membuat daftar semua kunci kamus
Dalam kedua contoh di atas, kami mengonversi semua kunci kamus menjadi daftar. Tetapi bagaimana jika kita hanya ingin mengonversi kunci tertentu dari kamus ke daftar?
Ubah kunci kamus tertentu menjadi daftar
Misalkan kita ingin mengonversi hanya kunci yang dipilih dari kamus ke daftar. Seperti, pilih hanya kunci kamus yang nilainya lebih besar dari 50 dan buat daftar kunci itu saja. Untuk mencapainya, kita dapat menerapkan kondisi if saat mengulangi pasangan kamus dan hanya memilih kunci yang kondisinya mengembalikan True. Sebagai contoh,
Fungsi eval[]
bawaan mengambil argumen string, menguraikannya seolah-olah itu adalah ekspresi kode, dan mengevaluasi ekspresi. Jika string berisi representasi tekstual kamus, nilai yang dikembalikan adalah kamus Python normal. Dengan cara ini, Anda dapat dengan mudah mengubah string menjadi kamus Python melalui fungsi
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]0
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]_
Keluarannya adalah
{'1': 'hi', '2': 'alice', '3': 'python'}_
Anda dapat mempelajari lebih lanjut tentang fungsi
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]0 bawaan di video berikut
Python eval[] – Cara Mengevaluasi Ekspresi Kode Secara Dinamis dengan Python
Tonton video ini di YouTube
Metode 2. ast. literal_eval[]
Metode
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]2 dengan aman mengevaluasi ekspresi atau literal string seperti kamus yang diwakili oleh string. Ini juga cocok untuk string yang berpotensi berasal dari sumber tidak tepercaya yang menyelesaikan banyak masalah keamanan dari metode
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]0. Dengan cara ini, Anda dapat mengonversi representasi string
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]4 kamus dengan menggunakan ekspresi
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]5
import ast s = '{"1": "hi", "2": "alice", "3": "python"}' d = ast.literal_eval[s] print[d] print[type[d]]
Keluarannya adalah
{'1': 'hi', '2': 'alice', '3': 'python'}_
Metode 3. json. beban[] & s. mengganti[]
Untuk mengubah representasi string dari dict menjadi dict, gunakan metode
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]6 pada string. Pertama, ganti semua karakter kutipan tunggal dengan karakter kutipan ganda yang lolos menggunakan ekspresi
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]7 untuk membuatnya berfungsi dengan pustaka JSON di Python. Ekspresi
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]_8 mengonversi string
s = '{"1": "hi", "2": "alice", "3": "python"}' d = eval[s] print[d] print[type[d]]4 menjadi kamus
import json s = '{"1": "hi", "2": "alice", "3": "python"}' d = json.loads[s.replace["'", """]] print[d] print[type[d]]
Keluarannya adalah
{'1': 'hi', '2': 'alice', '3': 'python'}_
Sayangnya, metode ini tidak optimal karena akan gagal untuk representasi kamus dengan tanda koma dan tanda kutip tunggal sebagai bagian dari kunci atau nilai kamus. Ini juga bukan yang paling sederhana, jadi pendekatan umum yang dibahas dalam metode 1 lebih disukai
Anda dapat menyelami lebih dalam metode
{'1': 'hi', '2': 'alice', '3': 'python'}_0 di video tutorial berikut
Ganti String Python. Panduan Bermanfaat
Tonton video ini di YouTube
Metode 4. Pendekatan Iteratif
Anda juga dapat mengonversi string menjadi kamus dengan memisahkan representasi string menjadi urutan pasangan [kunci, nilai]. Kemudian, Anda dapat menambahkan setiap pasangan [kunci, nilai] ke kamus yang awalnya kosong setelah beberapa pembersihan
Inilah implementasi di Python telanjang
s = '{"1": "hi", "2": "alice", "3": "python"}' def string_to_dict[s]: new_dict = {} # Determine key, value pairs mappings = s.replace['{', ''].replace['}', ''].split[','] for x in mappings: key, value = x.split[':'] # Automatically convert [key, value] pairs to correct type key, value = eval[key], eval[value] # Store [key, value] pair new_dict[key] = value return new_dict d = string_to_dict[s] print[d] print[type[d]]
Keluarannya adalah
{'1': 'hi', '2': 'alice', '3': 'python'}_
Anda dapat mempelajari lebih lanjut tentang pemisahan string dalam tutorial video berikut
Metode String Python [Panduan Utama]
Tonton video ini di YouTube
Kemana Pergi Dari Sini?
Cukup teori. Mari kita berlatih
Pembuat kode dibayar enam digit atau lebih karena mereka dapat memecahkan masalah dengan lebih efektif menggunakan kecerdasan mesin dan otomasi
Untuk menjadi lebih sukses dalam pengkodean, selesaikan lebih banyak masalah nyata untuk orang-orang nyata. Begitulah cara Anda memoles keterampilan yang benar-benar Anda butuhkan dalam latihan. Lagi pula, apa gunanya teori belajar yang tidak dibutuhkan siapa pun?
Anda membangun keterampilan pengkodean bernilai tinggi dengan mengerjakan proyek pengkodean praktis
Apakah Anda ingin berhenti belajar dengan proyek mainan dan fokus pada proyek kode praktis yang memberi Anda uang dan memecahkan masalah nyata bagi orang-orang?
🚀 Jika jawaban Anda adalah YA. , pertimbangkan untuk menjadi pengembang lepas Python. Ini adalah cara terbaik untuk mendekati tugas meningkatkan keterampilan Python Anda—bahkan jika Anda benar-benar pemula
Jika Anda hanya ingin belajar tentang peluang freelancing, jangan ragu untuk menonton webinar gratis saya “Bagaimana Membangun Keterampilan Berpenghasilan Tinggi Anda Python” dan pelajari bagaimana saya mengembangkan bisnis coding saya secara online dan bagaimana Anda juga bisa—dari kenyamanan Anda
Bergabunglah dengan webinar gratis sekarang
Chris
Saat bekerja sebagai peneliti dalam sistem terdistribusi, Dr. Christian Mayer menemukan cintanya untuk mengajar siswa ilmu komputer
Untuk membantu siswa mencapai tingkat kesuksesan Python yang lebih tinggi, dia mendirikan situs web pendidikan pemrograman Finxter. com. Dia adalah penulis buku pemrograman populer Python One-Liners [NoStarch 2020], rekan penulis seri Coffee Break Python dari buku yang diterbitkan sendiri, penggemar ilmu komputer, pekerja lepas, dan pemilik salah satu dari 10 blog Python terbesar di dunia
Kesukaannya adalah menulis, membaca, dan coding. Tetapi hasrat terbesarnya adalah untuk melayani calon pembuat kode melalui Finxter dan membantu mereka meningkatkan keterampilan mereka. Anda dapat bergabung dengan akademi email gratisnya di sini