Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Kamus Python: Pembuatan, Manipulasi, dan Teknik Lanjutan

Kamus Python

Panduan komprehensif ini menjelaskan kamus Python—cara membuatnya, mengakses, menambah, menghapus elemen, dan memanfaatkan metode bawaan.

Video: Python Dictionaries to Store key/value Pairs

Kamus Python adalah kumpulan yang tidak berurutan dari pasangan key/value. Setiap entri mengasosiasikan kunci yang unik dan imutable dengan nilai yang dapat berupa tipe apa pun.


Membuat Kamus Python

Mendefinisikan kamus sederhana: tempatkan pasangan key/value yang dipisahkan koma di dalam kurung kurawal {}. Kunci harus bersifat imutable (string, angka, atau tuple dari elemen imutable) dan unik; nilai dapat berupa tipe data apa pun dan dapat berulang.

# 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 of pairs
my_dict = dict([(1,'apple'), (2,'ball')])

Semua pendekatan di atas menciptakan struktur kamus yang sama.


Mengakses Elemen dari Kamus

Nilai kamus diambil melalui kunci mereka, baik dengan kurung siku [] atau metode get(). Menggunakan kurung siku menghasilkan KeyError jika kunci tidak ada; get() mengembalikan None secara default.

# 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 a missing key returns None
print(my_dict.get('address'))
# KeyError
print(my_dict['address'])

Output

Jack 26 None Traceback (most recent call last): File "<string>", line 15, in <module> print(my_dict['address']) KeyError: 'address'

Mengubah dan Menambahkan Elemen Kamus

Kamus bersifat mutable. Assignment ke kunci yang ada memperbarui nilainya; assignment ke kunci baru menambahkan entri segar.

# 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)

Output

{'name': 'Jack', 'age': 27} {'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Menghapus Elemen dari Kamus

Gunakan pop() untuk menghapus kunci tertentu dan mengambil nilainya. popitem() menghapus pasangan sembarang, sementara clear() menghapus seluruh kamus. Kata kunci del dapat menghapus entri individual atau variabel keseluruhan.

# 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)

Output

16 {1: 1, 2: 4, 3: 9, 5: 25} (5, 25) {1: 1, 2: 4, 3: 9} {} Traceback (most recent call last): File "<string>", line 30, in <module> print(squares) NameError: name 'squares' is not defined

Metode Kamus Python

Tabel di bawah ini mencantumkan metode kamus umum dan tujuannya. Banyak di antaranya diilustrasikan dalam contoh yang mengikuti.

MetodeDeskripsi
clear()Menghapus semua item dari kamus.
copy()Mengembalikan saluran dangkal dari kamus.
fromkeys(seq[, v])Membuat kamus baru dari seq dengan setiap kunci diatur ke v (default None).
get(key[,d])Mengembalikan nilai untuk key; jika tidak ada, mengembalikan d (default None).
items()Mengembalikan tampilan pasangan (kunci, nilai) kamus.
keys()Mengembalikan tampilan kunci kamus.
pop(key[,d])Menghapus key dan mengembalikan nilainya atau d; menghasilkan KeyError jika key hilang dan d tidak disediakan.
popitem()Menghapus dan mengembalikan pasangan (kunci, nilai) sembarang; menghasilkan KeyError jika kamus kosong.
setdefault(key[,d])Mengembalikan nilai untuk key; jika tidak ada, menyisipkan key dengan nilai d (default None) dan mengembalikan d.
update([other])Menyisipkan atau memperbarui pasangan key/value dari other, menimpa kunci yang ada.
values()Mengembalikan tampilan nilai kamus.

Contoh penggunaan:

# 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())))

Output

{'Math': 0, 'English': 0, 'Science': 0} ('Math', 0) ('English', 0) ('Science', 0) ['English', 'Math', 'Science']

Dictionary Comprehension Python

Dictionary comprehension menawarkan sintaks ringkas untuk membangun kamus dari iterable. Ini mengikuti pola {key: value for element in iterable}.

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

Output

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Versi imperatif setara:

squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

Output

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Comprehension dapat mencakup beberapa loop dan filter if. Contoh: hanya kuadrat ganjil.

# 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}

Untuk lebih lanjut tentang dictionary comprehensions, lihat Python Dictionary Comprehension.


Operasi Kamus Lainnya

Pengujian Keanggotaan Kamus

Gunakan operator in untuk memeriksa apakah kunci ada; ini tidak memeriksa nilai.

# 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

Melakukan Iterasi Melalui Kamus

Iterasi melalui kunci secara langsung, lalu akses nilai.

# 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

Fungsi Bawaan Kamus

Fungsi standar seperti all(), any(), len(), dan sorted() sering diterapkan pada kamus.

FungsiDeskripsi
all()True jika setiap kunci mengevaluasi ke True (atau jika kamus kosong).
any()True jika setiap kunci mengevaluasi ke True; False untuk kamus kosong.
len()Jumlah pasangan key/value.
cmp()Membandingkan dua kamus (dihapus di Python 3).
sorted()Mengembalikan daftar kunci yang diurutkan.

Contoh:

# 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))

Output

False True 6 [0, 1, 3, 5, 7, 9]

Python

  1. Menguasai Tipe Data Python: Panduan Praktis
  2. Menguasai Operator Python: Panduan Komprehensif
  3. Menguasai Pernyataan Pass Python: Panduan Praktis
  4. Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default
  5. Menguasai Iterator Python: Cara Kerja dan Membuat Sendiri
  6. Penutupan (Closure) Python Dijelaskan: Cara Fungsi Bertingkat Mengambil Variabel
  7. Menguasai Python datetime: Panduan Praktis Tanggal, Waktu, dan Zona Waktu
  8. Tinjauan Python: Tinggi Level, Mudah Dibaca, Interaktif, dan Berorientasi Objek
  9. Angka Python: Memahami Tipe Data Numerik yang Tidak Dapat Diubah
  10. Menguasai String Python: Pembuatan, Akses, dan Manipulasi