Anda mungkin sudah menguasai kamus dengan Python dan belajar banyak tentang pemahaman daftar. Sekarang saatnya menggabungkan keterampilan ini dan mempelajari sesuatu yang baru. pemahaman kamus dengan Python Show
Apa itu Pemahaman Kamus dengan Python?Sebelum itu, mari kita ingatkan diri kita apa itu pemahaman dalam Python. Ini berarti menerapkan jenis operasi tertentu pada setiap elemen iterator (seperti daftar, kamus, atau tupel). Kita tentu saja dapat membuat logika ini lebih kompleks dengan memasukkan, misalnya, pernyataan bersyarat Langsung saja kita buat contoh sederhananya. Kami akan membuat kamus, berisi usia beberapa orang
Bagaimana jika kita ingin menambahkan satu tahun untuk setiap umur dan menyimpan hasilnya di kamus baru?
Namun, loop _9 dapat ditulis ulang hanya dalam satu baris menggunakan pemahaman kamus
Apakah itu terlihat lebih baik? . Mari kita pecahkan menjadi beberapa bagian Kami memiliki nama sebagai kunci dan usia sebagai nilai. Kamus baru kita harus memiliki struktur yang sama dengan yang lama, 1. Di sini, namanya tidak berubah tetapi usianya. Kami membuat kamus baru 2 dengan membuka kurung kurawal, dan di dalam menulis 3, diikuti dengan titik dua, 4, dan 5. Sekarang berhenti, dan pikirkan dari mana _3 dan 5 berasal, dan bagaimana kita harus memodifikasi 5. Mereka berasal dari kamus asli, jadi kita dapat mengulanginya menggunakan metode 9 dan kata kunci 9 di mana variabel pertama adalah kunci, dan yang kedua adalah nilai. Jadi, kami menulis loop _9 ini di dalam tanda kurung. Sekarang, satu-satunya yang tersisa adalah mengubah nilai 5 dari kamus baru dengan menambahkan 1Ini adalah proses berpikir saya yang biasa ketika saya menggunakan pemahaman kamus. Contoh ini sangat sederhana dan dengan pengalaman yang cukup, Anda dapat melakukannya hampir secara otomatis, tetapi setelah kode menjadi sedikit lebih rumit, ada baiknya untuk memikirkan dengan tepat seperti apa hasil akhir Anda dan bagaimana Anda dapat mencapainya Selain itu, adalah ide yang bagus untuk menulis _9 loop sebelumnya, pastikan itu berperilaku seperti yang Anda desain, dan kemudian tulis ulang menggunakan pemahaman kamusContoh Lebih RealistisOke, cukup dengan contoh sederhana yang tidak realistis. Dalam kehidupan nyata, kita mungkin perlu membuat beberapa kamus acak untuk tujuan pengujian atau hanya karena kita memerlukan beberapa keacakan untuk teknik statistik, tetapi sekarang kita akan menganalisis kumpulan data dunia nyata dari Kaggle dan menerapkan teknik kamus Python ini. Perhatikan bahwa kumpulan data asli telah dimodifikasi dengan menghapus string 4 dari kolom 5Kami akan menggunakan kumpulan data yang berisi video game teratas di Metacritic pada tahun 1995-2021
Kumpulan data ini berisi informasi berikut
Katakanlah, kami tertarik untuk membuat kamus dengan nama sebagai kunci dan platform sebagai nilainya ________24___25_______Perhatikan bahwa setiap platform memiliki spasi sebelum namanya, jadi mari kita hapus. Itu bisa dilakukan dengan _9 loop atau pemahaman kamus
Di atas adalah salah satu cara menghilangkan spasi dari nilai. Kami menggunakan metode yang menghapus karakter awal dan akhir yang kami tentukan atau spasi putih jika tidak ada argumen yang diberikan. Sekarang coba tulis ulang kode menggunakan pemahaman kamus sebelum membaca jawabannya _0Itu adalah cara yang jauh lebih bagus untuk menulis kode yang sama Terkadang kita mungkin perlu mengekstrak setiap kolom dari kumpulan data, mengonversinya menjadi daftar, lalu menggunakan setiap elemen dari satu daftar sebagai kunci kamus dan setiap elemen dari daftar lain sebagai nilai kamus. Proses ini akan memungkinkan cara langsung untuk mengakses elemen kamus, memfilter, dan memanipulasinya. Ini Apakah mungkin? _1Sekarang kita memiliki semua daftar yang berbeda, kita dapat membuat kamus dari dua di antaranya. Kami sudah memiliki kamus platform, tetapi sekarang mari kita ekstrak tahun rilisnya (bukan tanggalnya. ). Kami akan menggunakan fungsi yang memungkinkan iterasi pada beberapa iterable secara bersamaan 2 3Sekarang coba lakukan hal yang sama tetapi dengan pemahaman kamus sebelum melihat jawabannya _4 5Seperti yang bisa kita lihat, pemahaman kamus dengan Python memungkinkan kode yang lebih pendek dan tidak terlalu rumit. Perhatikan bahwa kami menggunakan pemotongan string (mis. e. , _9) untuk mengekstrak hanya tahun dari tanggalPernyataan Bersyarat dalam Pemahaman KamusSekarang Anda harus dapat memahami logika dasar pemahaman kamus dengan Python. Jadi, mari kita sedikit memperumit masalah Kita dapat menggunakan pernyataan bersyarat untuk memfilter beberapa informasi sebelum membuat kamus. Mari buat ulang kamus video game yang dirilis setelah 2014 6 7Dalam cuplikan kode di atas, kami menggunakan kembali kode yang sama tetapi menambahkan pernyataan bersyarat 0 untuk menerapkan filter. Kami ingin memfilter berdasarkan nilai sehingga kami mengekstrak tahun, mengonversi angka menjadi bilangan bulat, lalu membandingkannya dengan bilangan bulat 2014. Jika tahun sebelum 2014, maka elemen kamus tersebut tidak dimasukkan ke dalam kamusKita tentu saja dapat membuat logika menjadi lebih rumit dengan memperkenalkan operator logika ( 1, 2, 3). Misalnya, jika kita ingin semua game yang dirilis antara 2012 dan 2018 (termasuk keduanya), maka kodenya adalah sebagai berikut 8 9Pada titik ini, kode menjadi agak rumit untuk dipahami jadi jika kita membutuhkan operator logis tambahan, lebih baik menggunakan loop standar 9Mari buat contoh lain, dan filter berdasarkan skor meta yang lebih rendah dari 25 atau lebih tinggi dari 97 0 1Untuk berlatih, buat kamus dengan game dengan skor pengguna antara 6 dan 8 (inklusif). Pastikan juga bahwa nilai dalam kamus adalah 5 angkaGunakan KasusEmpat bagian berikutnya akan mendemonstrasikan berbagai kasus penggunaan pemahaman kamus
Pemahaman Kamus BersarangTerkadang, kita perlu bekerja dengan kamus bersarang, mis. e. , saat kita memiliki kamus di dalam kamus lain. Pertama-tama, buat kamus bersarang 2 3Ada cara untuk menulis ulang loop 9 di atas menggunakan pemahaman kamus. Lakukan untuk latihanAgar tidak memperumit masalah, kami hanya akan menggunakan platform di nilai batin. Sangat sering, ini adalah format data yang dikirimkan kepada kami melalui API 4 5Katakanlah kita ingin mengekstrak tahun dan mengubahnya menjadi bilangan bulat sambil mempertahankan format kamus bersarang yang sama. Salah satu cara melakukannya adalah dengan menggunakan ________2______9 loop 6 7Tentu saja, dimungkinkan untuk menulis ulang 9 loop di atas menggunakan pemahaman kamus. Untuk menghindari kesalahan, sel kode di bawah ini akan membuat ulang daftar dan kamus bersarang sebelum menjalankan pemahaman kamus 8 9 7Loop _9 di sini adalah loop 9 kedua, sedangkan loop 9 dalam adalah loop 9 pertama. Kode menjadi cukup rumit pada saat ini, jadi dalam banyak kasus, tidak ada gunanya terus mencoba menggunakan pemahaman kamus. Ingatlah bahwa salah satunya adalah keterbacaanMenyortir Kamus dengan PemahamanPenggunaan lain dari pemahaman kamus di Python adalah penyortiran kamus. Misalnya, katakanlah kita ingin mengurutkan kamus dengan judul game dan tahun demi tahun dari tahun pertama hingga tahun terakhir? . ) 1 2Kami menggunakan fungsi _5 yang menerima argumen 6 bahwa kami perlu memberi tahu fungsi elemen mana yang ingin kami urutkan. Dalam hal ini, kami memiliki dua opsi. urutkan pada kunci atau nilai kamus. Nilai berada di urutan kedua, jadi indeksnya harus 1, sedangkan untuk kunci adalah 0. Kunci biasanya diberikan ke fungsi _7 yang merupakan fungsi anonim yang sering digunakan dalam Python. Apakah menurut Anda mungkin untuk menerapkan 9 loop untuk mencapai hasil yang sama?Meratakan Daftar KamusTerkadang kami menghadapi daftar kamus, dan kami menginginkan satu kamus tunggal. Itu juga bisa dilakukan dengan pemahaman kamus 3 4Yang pasti, kita juga bisa menambahkan beberapa pernyataan bersyarat dalam kode di atas seperti yang kita lakukan untuk pemahaman kamus sebelumnya. Misalnya, di bawah ini, kami memfilter semua tahun yang bukan 1996 5 6Apakah Anda dapat membuat ulang pemahaman kamus di atas dengan 9 loop? Frekuensi KataSalah satu langkah dalam Natural Language Processing adalah menghitung kemunculan kata dalam sebuah teks. Cara alami untuk merepresentasikan data ini adalah dengan menggunakan kamus, di mana kuncinya adalah kata, dan nilainya adalah berapa kali kata ini muncul dalam teks. Ini juga merupakan pekerjaan untuk memahami kamus 7 8Kami membutuhkan tiga baris kode jika kami menggunakan 9 loop (tetapi coba buat ulang)MembungkusAda begitu banyak cara kita dapat mengeksploitasi pemahaman kamus dengan Python untuk memperbaiki kode, sehingga akan membutuhkan terlalu banyak kertas untuk mencantumkan semuanya. Saya sarankan Anda mulai menggunakannya langsung setiap kali Anda melihat kemungkinannya (tetapi tetap ingat keterbacaannya) dan baca kode orang lain untuk mendapatkan ide tentang kasus penggunaan kode tersebut Pada titik tertentu, akan sangat wajar untuk langsung menulis pemahaman kamus tetapi untuk mencapai titik ini Anda harus menulis kode, dan mengerjakan proyek. Membaca tutorial dan melakukan latihan kode sangat membantu untuk memahami konsepnya, tetapi proyek adalah pengubah permainan nyata dalam ilmu data atau karier pengkodean Anda Dalam tutorial ini, kita telah belajar
Saya harap Anda telah belajar sesuatu yang baru hari ini. Jangan ragu untuk terhubung dengan saya di LinkedIn atau GitHub. Selamat mengkode tutorial ilmu data tutorial python Tentang Penulis Artur SannikovSaya seorang mahasiswa Biologi Molekuler di Universitas Padua, Italia yang tertarik dengan bioinformatika dan analisis data Bisakah kita menggunakan pernyataan if untuk kamus dengan Python?Periksa apakah ada nilai dalam kamus menggunakan fungsi any() . Ini adalah metode dimana masalah ini dapat diselesaikan. Dalam hal ini, kami mengulangi seluruh kamus menggunakan pemahaman daftar dan memeriksa nilai setiap kunci untuk kecocokan menggunakan pernyataan bersyarat.
Bisakah Anda menggunakan == pada kamus dengan Python?Menurut dokumen python, Anda memang dapat menggunakan operator == pada kamus .
Bagaimana Anda memeriksa apakah suatu nilai ada dalam nilai kamus dengan Python?Periksa apakah ada nilai dalam kamus. dalam operator, values() Untuk memeriksa apakah ada nilai dalam kamus, i. e. , jika kamus memiliki/berisi nilai, gunakan operator in dan metode values(). Gunakan not in untuk memeriksa apakah suatu nilai tidak ada dalam kamus.
Bagaimana cara memeriksa apakah kunci dan nilai ada di kamus Python?Periksa Jika Kunci Ada menggunakan metode Inbuilt keys()
. Dengan kunci metode bawaan (), gunakan pernyataan if dengan operator 'in' untuk memeriksa apakah kunci ada di kamus atau tidak. |