Kamus Python (Dengan Contoh)

Dalam tutorial ini, Anda akan mempelajari segala sesuatu tentang kamus Python; bagaimana mereka dibuat, mengakses, menambahkan, menghapus elemen darinya dan berbagai metode bawaan.

Video: Kamus Python untuk Menyimpan Pasangan kunci / nilai

Kamus Python adalah kumpulan item yang tidak berurutan. Setiap item kamus memiliki key/valuepasangan.

Kamus dioptimalkan untuk mengambil nilai ketika kuncinya diketahui.

Membuat Kamus Python

Membuat kamus semudah menempatkan item di dalam ()tanda kurung kurawal dipisahkan dengan koma.

Sebuah item memiliki a keydan a yang sesuai valueyang diekspresikan sebagai pasangan ( key: value ).

Meskipun nilai dapat dari tipe data apa pun dan dapat diulang, kunci harus dari tipe yang tidak dapat diubah (string, angka atau tupel dengan elemen yang tidak dapat diubah) dan harus unik.

 # empty dictionary my_dict = () # dictionary with integer keys my_dict = (1: 'apple', 2: 'ball') # dictionary with mixed keys my_dict = ('name': 'John', 1: (2, 4, 3)) # using dict() my_dict = dict((1:'apple', 2:'ball')) # from sequence having each item as a pair my_dict = dict(((1,'apple'), (2,'ball')))

Seperti yang Anda lihat dari atas, kami juga dapat membuat kamus menggunakan dict()fungsi bawaan.

Mengakses Elemen dari Kamus

Saat pengindeksan digunakan dengan tipe data lain untuk mengakses nilai, kamus menggunakan keys. Kunci dapat digunakan baik di dalam tanda kurung siku ()atau dengan get()metode.

Jika kita menggunakan tanda kurung siku (), KeyErrordimunculkan jika kunci tidak ditemukan dalam kamus. Di sisi lain, get()metode kembali Nonejika kuncinya tidak ditemukan.

 # get vs () for retrieving elements my_dict = ('name': 'Jack', 'age': 26) # Output: Jack print(my_dict('name')) # Output: 26 print(my_dict.get('age')) # Trying to access keys which doesn't exist throws error # Output None print(my_dict.get('address')) # KeyError print(my_dict('address'))

Keluaran

 Jack 26 None Traceback (panggilan terakhir terakhir): File "", baris 15, dicetak (my_dict ('address')) KeyError: 'address'

Mengubah dan Menambahkan elemen Kamus

Kamus bisa berubah. Kita dapat menambahkan item baru atau mengubah nilai item yang sudah ada menggunakan operator penugasan.

Jika kunci sudah ada, nilai yang ada akan diperbarui. Jika kunci tidak ada, pasangan baru ( key: value ) ditambahkan ke kamus.

 # Changing and adding Dictionary Elements my_dict = ('name': 'Jack', 'age': 26) # update value my_dict('age') = 27 #Output: ('age': 27, 'name': 'Jack') print(my_dict) # add item my_dict('address') = 'Downtown' # Output: ('address': 'Downtown', 'age': 27, 'name': 'Jack') print(my_dict)

Keluaran

 ('name': 'Jack', 'age': 27) ('name': 'Jack', 'age': 27, 'address': 'Downtown')

Menghapus elemen dari Kamus

Kami dapat menghapus item tertentu dalam kamus dengan menggunakan pop()metode ini. Metode ini menghapus item dengan yang disediakan keydan mengembalikan value.

The popitem()metode dapat digunakan untuk menghapus dan mengembalikan sewenang-wenang (key, value)pasangan item dari kamus. Semua item dapat dihapus sekaligus, menggunakan clear()metode ini.

Kami juga dapat menggunakan delkata kunci untuk menghapus item individu atau seluruh kamus itu sendiri.

 # Removing elements from a dictionary # create a dictionary squares = (1: 1, 2: 4, 3: 9, 4: 16, 5: 25) # remove a particular item, returns its value # Output: 16 print(squares.pop(4)) # Output: (1: 1, 2: 4, 3: 9, 5: 25) print(squares) # remove an arbitrary item, return (key,value) # Output: (5, 25) print(squares.popitem()) # Output: (1: 1, 2: 4, 3: 9) print(squares) # remove all items squares.clear() # Output: () print(squares) # delete the dictionary itself del squares # Throws Error print(squares)

Keluaran

 16 (1: 1, 2: 4, 3: 9, 5: 25) (5, 25) (1: 1, 2: 4, 3: 9) () Traceback (panggilan terakhir terakhir): File "", baris 30, di cetak (kotak) NameError: nama 'kotak' tidak ditentukan

Metode Kamus Python

Metode yang tersedia dengan kamus ditabulasikan di bawah ini. Beberapa di antaranya telah digunakan dalam contoh di atas.

metode Deskripsi
bersih() Menghapus semua item dari kamus.
salinan() Mengembalikan salinan kamus yang dangkal.
fromkeys (seq (, v)) Mengembalikan kamus baru dengan kunci dari seq dan nilai sama dengan v (default ke None).
dapatkan (kunci (, d)) Mengembalikan nilai kunci. Jika kuncinya tidak ada, mengembalikan d (default ke None).
item () Kembalikan objek baru dari item kamus dalam format (key, value).
kunci () Mengembalikan objek baru dari kunci kamus.
pop (kunci (, d)) Menghapus item dengan kunci dan mengembalikan nilainya atau d jika kunci tidak ditemukan. Jika d tidak tersedia dan kuncinya tidak ditemukan, maka akan muncul KeyError.
popitem () Menghapus dan mengembalikan item arbitrer ( kunci, nilai ). Meningkat KeyErrorjika kamus kosong.
setdefault (key (, d)) Mengembalikan nilai terkait jika kuncinya ada di kamus. Jika tidak, masukkan kunci dengan nilai d dan mengembalikan d (default ke None).
perbarui ((lainnya)) Memperbarui kamus dengan pasangan kunci / nilai dari yang lain, menimpa kunci yang ada.
nilai () Mengembalikan objek baru dari nilai kamus

Berikut adalah beberapa contoh kasus penggunaan metode ini.

 # Dictionary Methods marks = ().fromkeys(('Math', 'English', 'Science'), 0) # Output: ('English': 0, 'Math': 0, 'Science': 0) print(marks) for item in marks.items(): print(item) # Output: ('English', 'Math', 'Science') print(list(sorted(marks.keys())))

Keluaran

 ('Matematika': 0, 'Bahasa Inggris': 0, 'Sains': 0) ('Matematika', 0) ('Bahasa Inggris', 0) ('Sains', 0) ('Bahasa Inggris', 'Matematika', ' Ilmu')

Pemahaman Kamus Python

Pemahaman kamus adalah cara yang elegan dan ringkas untuk membuat kamus baru dari iterable dengan Python.

Pemahaman kamus terdiri dari pasangan ekspresi ( key: value ) diikuti dengan forpernyataan di dalam kurung kurawal ().

Berikut adalah contoh untuk membuat kamus dengan setiap item menjadi pasangan angka dan kuadratnya.

 # Dictionary Comprehension squares = (x: x*x for x in range(6)) print(squares)

Keluaran

 (0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25)

Kode ini setara dengan

 squares = () for x in range(6): squares(x) = x*x print(squares)

Keluaran

 (0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25)

A dictionary comprehension can optionally contain more for or if statements.

An optional if statement can filter out items to form the new dictionary.

Here are some examples to make a dictionary with only odd items.

 # Dictionary Comprehension with if conditional odd_squares = (x: x*x for x in range(11) if x % 2 == 1) print(odd_squares)

Output

 (1: 1, 3: 9, 5: 25, 7: 49, 9: 81)

To learn more dictionary comprehensions, visit Python Dictionary Comprehension.

Other Dictionary Operations

Dictionary Membership Test

We can test if a key is in a dictionary or not using the keyword in. Notice that the membership test is only for the keys and not for the values.

 # Membership Test for Dictionary Keys squares = (1: 1, 3: 9, 5: 25, 7: 49, 9: 81) # Output: True print(1 in squares) # Output: True print(2 not in squares) # membership tests for key only not value # Output: False print(49 in squares)

Output

 True True False

Iterating Through a Dictionary

We can iterate through each key in a dictionary using a for loop.

 # Iterating through a Dictionary squares = (1: 1, 3: 9, 5: 25, 7: 49, 9: 81) for i in squares: print(squares(i))

Output

 1 9 25 49 81

Dictionary Built-in Functions

Built-in fungsi seperti all(), any(), len(), cmp(), sorted(), dll biasanya digunakan dengan kamus untuk melakukan tugas yang berbeda.

Fungsi Deskripsi
semua() Kembalikan Truejika semua kunci kamus adalah True (atau jika kamus kosong).
apa saja() Kembalikan Truejika ada kunci kamus yang benar. Jika kamus kosong, kembali False.
len () Kembalikan panjang (jumlah item) dalam kamus.
cmp () Membandingkan item dari dua kamus. (Tidak tersedia di Python 3)
diurutkan () Kembalikan daftar kunci baru yang diurutkan dalam kamus.

Berikut beberapa contoh yang menggunakan fungsi bawaan untuk bekerja dengan kamus.

 # Dictionary Built-in Functions squares = (0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81) # Output: False print(all(squares)) # Output: True print(any(squares)) # Output: 6 print(len(squares)) # Output: (0, 1, 3, 5, 7, 9) print(sorted(squares))

Keluaran

 Salah Benar 6 (0, 1, 3, 5, 7, 9)

Artikel yang menarik...