Iklan
Kamus python adalah struktur data yang mirip dengan array asosiatif yang ditemukan dalam bahasa pemrograman lain. Array atau daftar mengindeks elemen berdasarkan posisi. Kamus, di sisi lain, mengindeks elemen oleh kunci yang bisa berupa string. Pikirkan kamus sebagai kumpulan unordered of nilai kunci berpasangan.
Pada artikel ini, kami memperkenalkan Anda untuk bekerja dengan kamus python.
Membuat Kamus
Ada beberapa cara membuat kamus python. Penggunaan inisialisasi brace paling sederhana, dengan sintaksis mengingatkan pada JSON Cara Mendapatkan Python dan JavaScript untuk Berkomunikasi Menggunakan JSONHari ini saya akan menunjukkan kepada Anda cara menggunakan JSON untuk mengirim data dari JavaScript ke Python. Saya akan membahas cara menyiapkan server web, beserta semua kode yang Anda butuhkan. Baca lebih banyak .
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}
Anda juga dapat menggunakan angka sebagai tombol. Namun, berhati-hatilah menggunakan angka floating point sebagai kunci, karena
komputer menyimpan ini sebagai perkiraan Semua yang Perlu Anda Ketahui Tentang RAM & Manajemen MemoriRAM adalah memori jangka pendek komputer Anda. Oleh karena itu, manajemen memori memiliki dampak yang signifikan terhadap kinerja sistem. Di sini kami menjelaskan cara kerja RAM dan apakah Anda dapat melakukan apa saja untuk meningkatkan efisiensinya. Baca lebih banyak .rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} cetak rain_percent. print rain_percent [1980] # cetakan. {1980: '17%', 1981: '15%', 1982: '10%'} 17%
Menentukan Pasangan Nilai Kunci
Anda juga dapat membuat dan menginisialisasi kamus menggunakan pasangan nilai nama sebagai argumen kata kunci untuk dict () konstruktor.
populasi = dikt (California = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) populasi cetak. # cetakan. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}
Array Tupel Nilai Kunci
Namun cara lain untuk membuat kamus adalah dengan menggunakan array tuple nilai kunci. Berikut adalah contoh yang sama seperti di atas.
pasangan = [('California', 37253956), ('Colorado', 5029196), ('Connecticut', 3574097), ('Delaware', 897934)] populasi = dict (pasangan) populasi cetak. # cetakan. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}
Pemahaman Dikte
Pemahaman diktik menyediakan sintaks keren untuk menginisialisasi dikt jika Anda dapat menghitung nilai berdasarkan tombol. Yang berikut ini menginisialisasi dict angka dan nilai kuadrat untuk rentang angka.
cetak {x: x ** 2 untuk x dalam xrange (10, 20)} # cetakan. {10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361}
Bagaimana cara kerjanya? Bagian terakhir (untuk x in xrange (10, 20)) mengembalikan rentang angka dalam rentang yang ditentukan. Bagian pemahaman dikt ({x: x ** 2 ..}) loop pada rentang ini dan menginisialisasi kamus.
Bekerja dengan Kamus Python
Apa yang dapat Anda lakukan dengan kamus setelah Anda membuatnya? Anda dapat mengakses elemen, memperbarui nilai, menghapus elemen, dll.
Mengakses Elemen Kamus Python
Akses elemen dict menggunakan kunci di dalam tanda kurung, sama seperti Anda sebuah array atau daftar Bagaimana Array dan Daftar Bekerja dengan PythonArray dan daftar adalah beberapa struktur data yang paling berguna dalam pemrograman - walaupun hanya sedikit orang yang menggunakannya secara maksimal. Baca lebih banyak .
populasi cetak ['Delaware'] # cetakan. 897934.
Jika kuncinya adalah angka, Anda tidak perlu tanda kutip. Ekspresi kemudian tampak seperti daftar atau array yang diindeks.
print rain_percent [1980] # cetakan. 17%
Jenis kunci saat mengaksesnya harus cocok dengan apa yang disimpan dalam kamus Python. Berikut ini menyebabkan kesalahan karena kunci yang disimpan adalah angka sedangkan kunci akses adalah string.
x = '1980' cetak rain_percent [x] # hasil dalam 1 x = '1980' > 2 cetak rain_percent [x] KeyError: '1980'
Mengakses kunci yang tidak ada adalah kesalahan.
rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} print rain_percent [1983] # mencetak 1 rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} > 2 cetak rain_percent [1983] KeyError: 1983.
Untuk mengakses kunci dan memberikan nilai default jika pemetaan tidak ada, gunakan Dapatkan() metode dengan nilai default sebagai argumen kedua.
print rain_percent.get (1985, '0%') # cetakan. 0%
Memeriksa Keberadaan
Bagaimana jika Anda ingin memeriksa keberadaan kunci tanpa benar-benar mencoba mengaksesnya (dan mungkin menemukan a KeyError seperti di atas)? Anda dapat menggunakan di kata kunci dalam formulir kunci dct yang mengembalikan boolean.
cetak 1980 dalam rain_percent. cetak '1980' dalam rain_percent. # cetakan. Benar. Salah.
Membalikkan kondisi (mis. Memastikan bahwa kunci tidak ada dalam kamus Python) menggunakan formulir kunci tidak dalam dct. Ini setara dengan negasi python standar bukan kunci dalam dct.
cetak 1980 bukan di rain_percent. cetak 1985 tidak dalam rain_percent. # cetakan. Salah. Benar.
Memodifikasi Elemen
Ubah nilainya dengan menetapkan kunci yang diperlukan.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pengguna ['umur'] = 29. pengguna cetak. # cetakan. {'nama belakang': 'Smith', 'usia': 29, 'nama depan': 'John'}
Gunakan sintaksis yang sama untuk menambahkan pemetaan baru ke kamus Python.
pengguna ['dob'] = '15 -sep-1971 ' pengguna cetak. # cetakan. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}
Perbarui beberapa elemen kamus dalam satu kesempatan menggunakan memperbarui() metode.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.update ({'age': 29, 'dob': '15 -sep-1971 '}) pengguna cetak. # cetakan. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}
Tetapkan nilai default untuk kunci menggunakan set standar(). Metode ini menetapkan nilai untuk kunci jika pemetaan tidak ada. Ini mengembalikan nilai saat ini.
# tidak mengubah nilai saat ini. cetak users.setdefault ('firstname', 'Jane') # cetakan. John # menetapkan nilai. cetak users.setdefault ('city', 'NY') # cetakan. Nilai akhir NY #. pengguna cetak. # cetakan. {'nama belakang': 'Smith', 'usia': 27, 'nama depan': 'John', 'kota': 'NY'}
Menghapus elemen
Hapus pemetaan di kamus dengan menggunakan del operator. Operator ini tidak mengembalikan apa pun.
Anda akan menemui a KeyError jika kunci tidak ada dalam kamus.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pengguna del ['umur'] pengguna cetak. # cetakan. {'lastname': 'Smith', 'firstname': 'John'}
Menggunakan pop () metode sebaliknya, ketika Anda ingin kembali nilai yang dihapus.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} cetak users.pop ('usia') pengguna cetak. # cetakan. 27. {'lastname': 'Smith', 'firstname': 'John'}
Bagaimana jika Anda ingin menghapus kunci jika ada, tanpa menyebabkan kesalahan jika tidak? Kamu dapat memakai pop () dan tentukan Tidak ada untuk argumen kedua sebagai berikut:
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.pop ('foo', Tidak Ada) pengguna cetak. # cetakan. {'nama belakang': 'Smith', 'usia': 27, 'nama depan': 'John'}
Dan di sini adalah satu-liner untuk menghapus sekelompok kunci dari kamus tanpa menyebabkan kesalahan pada kunci yang tidak ada.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27, 'dob': '15 -sep-1971 '} peta (lambda x: users.pop (x, Tidak Ada), ['usia', 'foo', 'dob']) pengguna cetak.
Ingin menghapus semua kunci dari kamus? Menggunakan bersih() metode.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.clear () pengguna cetak. # cetakan. {}
Looping Dengan Kamus Python
Python menyediakan banyak metode untuk perulangan Bagaimana Do-While Loops Bekerja dalam Pemrograman KomputerLoop adalah salah satu tipe kontrol pertama yang akan Anda pelajari dalam pemrograman. Anda mungkin tahu tentang while dan for loop, tetapi apa yang dilakukan loop do-while? Baca lebih banyak atas entri kamus. Pilih satu yang sesuai dengan kebutuhan Anda.
Looping Over Keys
- Metode paling sederhana untuk memproses kunci (dan mungkin nilai) secara berurutan menggunakan loop dari formulir:
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk pengguna k: cetak k, '=>', pengguna [k] # cetakan. nama belakang => Smith. umur => 27. firstname => John.
- Menggunakan metode iterkeys () bekerja persis sama seperti di atas. Pilih jenis yang ingin Anda gunakan.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk k di users.iterkeys (): print k, '=>', pengguna [k] # cetakan. nama belakang => Smith. umur => 27. firstname => John.
- Metode ketiga untuk mengambil dan memproses kunci dalam satu loop melibatkan penggunaan fungsi bawaan iter ().
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk k in iter (pengguna): cetak k, '=>', pengguna [k] # cetakan. nama belakang => Smith. umur => 27. firstname => John.
- Saat Anda membutuhkan indeks kunci yang sedang diproses, gunakan tombol menghitung() fungsi bawaan seperti yang ditunjukkan.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk indeks, masukkan enumerate (pengguna): indeks cetak, kunci, '=>', pengguna [k] # cetakan. 0 nama belakang => John. 1 umur => John. 2 firstname => John.
Looping Over Pasangan Nilai Kunci
- Saat Anda ingin mengambil setiap pasangan nilai kunci dengan satu panggilan, gunakan iteritems ().
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk k, v di users.iteritems (): cetak k, '=>', v. # cetakan. nama belakang => Smith. umur => 27. firstname => John.
Iterating Over Values
- Metode itervalues () dapat digunakan untuk beralih pada semua nilai dalam kamus. Meskipun metode ini terlihat mirip dengan menggunakan loop nilai (), ini lebih efisien karena tidak mengekstraksi semua nilai sekaligus.
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk nilai di users.itervalues (): nilai cetak. # cetakan. Smith. 27. John
Ekstraksi Array
Metode berikut menjelaskan mengekstraksi berbagai informasi kamus Python dalam bentuk array. Array yang dihasilkan dapat diulang menggunakan konstruksi python normal. Namun, perlu diingat bahwa array yang dikembalikan bisa besar tergantung pada ukuran kamus. Jadi mungkin lebih mahal (berdasarkan ingatan) untuk memproses array ini daripada menggunakan metode iterator di atas.
Satu kasus di mana dapat diterima untuk bekerja dengan array ini adalah ketika Anda perlu menghapus item dari kamus saat Anda menemukan elemen yang tidak diinginkan. Bekerja dengan iterator saat memodifikasi kamus dapat menyebabkan RuntimeError.
- Metode item () mengembalikan array nilai kunci tupel. Anda dapat mengulangi pasangan nilai kunci ini seperti yang ditunjukkan:
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} untuk k, v di users.items (): print k, '=>', v. # cetakan. nama belakang => Smith. umur => 27. firstname => John.
- Ambil semua kunci dalam kamus menggunakan metode ini kunci ().
users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} cetak users.keys () # cetakan. ['nama belakang', 'usia', 'nama depan']
Gunakan array yang dikembalikan untuk mengulangi kunci.
untuk k di users.keys (): print k, '=>', pengguna [k] # cetakan. nama belakang => Smith. umur => 27. firstname => John.
- Dengan cara yang sama, gunakan metode ini nilai () untuk mengambil semua nilai dalam kamus.
untuk nilai di users.values (): nilai cetak. # cetakan. Smith. 27. John
Bagaimana Anda Menggunakan Kamus Python?
Kami telah mencoba untuk membahas kasus penggunaan yang paling umum untuk kamus python di artikel ini. Pastikan untuk memeriksa semua artikel Python lainnya 10 Contoh Dasar Python Yang Akan Membantu Anda Belajar CepatArtikel contoh python dasar ini adalah untuk mereka yang sudah memiliki pengalaman pemrograman dan hanya ingin transisi ke Python secepat mungkin. Baca lebih banyak bahkan untuk lebih banyak tip Python 5 Kursus yang akan membawa Anda dari Python Beginner ke ProKelima kursus ini akan mengajarkan Anda semua tentang pemrograman dengan Python, salah satu bahasa terpanas saat ini. Baca lebih banyak . Jika Anda memiliki kasus penggunaan lain yang menurut Anda harus dimasukkan, beri tahu kami di komentar di bawah!
Kredit Gambar: viper345 / Shutterstock