0Pricing
Python Academy · Pelajaran

Mencocokkan Sequence dan Mapping

Uraikan list dan dict

Mencocokkan Sequence dan Mapping adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pola untuk Destrukturisasi

Kekuatan sebenarnya dari match adalah destrukturisasi. Pola urutan dan pola pemetaan memungkinkan Anda memeriksa bentuk data sekaligus mengambil nilainya.

Mencocokkan Daftar dengan Panjang Tetap

Pola urutan dalam tanda kurung siku mencocokkan daftar atau tupel dengan panjang yang persis sama, lalu mengikat setiap elemen ke sebuah nama.

point = [3, 4]

match point:
    case [x, y]:
        print('x =', x, 'y =', y)

Panjang Harus Sesuai

Pola yang terdiri dari dua elemen tidak cocok dengan urutan yang terdiri dari tiga elemen. Setiap kasus memeriksa struktur dan panjang sekaligus.

data = [1, 2, 3]

match data:
    case [a, b]:
        print('pair')
    case [a, b, c]:
        print('triple:', a, b, c)

Menggabungkan Literal dan Penangkapan

Anda dapat menetapkan beberapa posisi sebagai nilai literal dan menangkap posisi lainnya. Cara ini hanya mencocokkan urutan yang diawali nilai literal yang diberikan.

command = ['move', 10, 20]

match command:
    case ['move', dx, dy]:
        print('moving by', dx, dy)
    case ['stop']:
        print('stopping')

Menangkap Sisa dengan *

Nama bertanda bintang menangkap semua elemen yang tersisa sebagai sebuah daftar, mirip dengan pembongkaran yang diperluas.

items = [1, 2, 3, 4, 5]

match items:
    case [first, *rest]:
        print('first:', first)
        print('rest:', rest)

Pola Kosong dan Tunggal

Pola urutan menangani kasus-kasus khusus dengan rapi: daftar kosong, satu elemen, atau banyak elemen.

def describe(seq):
    match seq:
        case []:
            return 'empty'
        case [x]:
            return 'one: ' + str(x)
        case [x, *rest]:
            return 'many, first ' + str(x)

print(describe([]))
print(describe([9]))
print(describe([1, 2, 3]))

Mencocokkan Kamus

Pola pemetaan menggunakan kurung kurawal. Pola ini memeriksa apakah kunci yang diberikan tersedia dan mengikat nilainya. Kunci tambahan pada subjek tetap diperbolehkan.

event = {'type': 'click', 'x': 10, 'y': 20}

match event:
    case {'type': 'click', 'x': x, 'y': y}:
        print('click at', x, y)

Pencocokan Kunci Sebagian

Pola pemetaan hanya mengharuskan kunci yang Anda cantumkan. Kunci lainnya diabaikan, sehingga cara ini sangat cocok untuk pesan dengan kolom opsional.

event = {'type': 'key', 'code': 'A', 'extra': 1}

match event:
    case {'type': 'key', 'code': code}:
        print('key pressed:', code)

Menangkap Kunci yang Tersisa

Gunakan **rest untuk menangkap semua pasangan kunci-nilai yang tidak cocok ke dalam sebuah kamus.

event = {'type': 'move', 'dx': 5, 'dy': 7}

match event:
    case {'type': 'move', **rest}:
        print('move details:', rest)

Penyarangan Pola

Pola dapat disarangkan dengan bebas. Anda dapat mencocokkan kamus yang berisi daftar dan melakukan destrukturisasi keduanya sekaligus.

data = {'name': 'grid', 'size': [3, 4]}

match data:
    case {'name': name, 'size': [w, h]}:
        print(name, 'is', w, 'by', h)

Teks Bukan Urutan di Sini

Pola urutan sengaja tidak mencocokkan teks atau byte, meskipun keduanya dapat diiterasi. Hal ini mencegah teks terdestrukturisasi secara tidak sengaja karakter demi karakter.

value = 'hi'

match value:
    case [a, b]:
        print('matched as sequence')
    case str():
        print('matched as string')

Uji Cepat

Apa yang diikat oleh pola [first, *rest] ketika dicocokkan dengan [1, 2, 3, 4]?

Ringkasan

Anda telah mempelajari cara melakukan destrukturisasi pada daftar dan kamus.

  • Pola urutan memeriksa panjang dan mengikat elemen.
  • *rest menangkap item daftar yang tersisa.
  • Pola pemetaan mencocokkan kunci; kunci tambahan diperbolehkan.
  • **rest menangkap pasangan kamus yang tersisa; pola dapat disarangkan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mencocokkan Sequence dan Mapping” gratis?

Ya — teks lengkap “Mencocokkan Sequence dan Mapping” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mencocokkan Sequence dan Mapping”?

Uraikan list dan dict Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Mencocokkan Sequence dan Mapping” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar match dan case
  2. Mencocokkan Sequence dan Mapping
  3. Pola Kelas
  4. Guard dan Wildcard
← Kembali ke Python Academy