Panduan ini mengajarkan Anda cara mengiris iterables, seperti daftar dengan Python. Teori ini didukung dengan contoh-contoh yang bagus
Pengindeksan Python
Di Python, Anda dapat mengakses elemen secara berurutan dengan indeks. Indeks ini adalah bilangan bulat yang mewakili posisi elemen tertentu itu
Jika Anda tidak terbiasa dengan pengindeksan atau pengindeksan negatif, harap baca bagian ini sebelum menuju ke bagian pemotongan
Pengindeksan Berbasis Nol dengan Python
Di Python, pengindeksan dimulai dari nol
Ini berarti elemen pertama memiliki indeks nol, dan elemen kedua memiliki indeks satu, dan seterusnya
Ini sebuah ilustrasi
Cara Menggunakan Indeks untuk Mengakses Elemen dengan Python
Sekarang setelah Anda mengetahui arti pengindeksan, mari kita lihat cara menggunakan indeks untuk mendapatkan nilai dari urutan
Di Python, Anda dapat mengakses elemen ke-n dari iterable, seperti daftar, dengan indeks. Untuk melakukannya, gunakan operator kurung siku dengan meneruskan indeks sebagai argumen
Misalnya, mari buat daftar angka, dan mari akses elemen ke-2 dan ke-3 darinya
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)Keluaran
100 1000_Seperti yang Anda lihat, argumen ke-2 menggunakan indeks 1, dan argumen ke-3 dengan indeks 2
Pengindeksan tidak terbatas pada daftar saja. Ini juga berfungsi untuk string dan tupel
Berikut adalah contohnya
# First letter of a string greeting = "Hello world!" first_letter = greeting[0] print(first_letter) # Prints 'H' # z-cooridnate of a 3D tuple coords = 0, 2, 9 z = coords[2] print(z) # Prints 9Pengindeksan Negatif dengan Python
Python juga mendukung pengindeksan negatif. Cara pengindeksan ini dimulai di akhir iterable, seperti daftar
Tidak seperti pengindeksan (positif), pengindeksan negatif tidak dimulai dari 0. Sebaliknya, dimulai dari -1, di mana -1 adalah elemen terakhir (paling kanan). Kemudian -2 adalah yang terakhir kedua dan seterusnya
Berikut adalah ilustrasi pengindeksan negatif dengan Python
Misalnya, mari kita akses elemen terakhir dan pertama dari daftar dengan pengindeksan negatif
nums = [10, 100, 1000, 10_000] last = nums[-1] first = nums[-4] print(last, first)Keluaran
10000 10_Mirip dengan pengindeksan positif, pengindeksan negatif juga berfungsi dengan tupel dan daftar
Contohnya
# Last letter of a string greeting = "Hello world!" last_letter = greeting[-1] print(last_letter) # Prints '!' # z-cooridnate of a 3D tuple coords = 0, 2, 9 z = coords[-1] print(z) # Prints 9Sekarang Anda memiliki pemahaman dasar tentang cara kerja pengindeksan di Python
Selanjutnya, mari beralih ke pengirisan, yang sangat terkait dengan pengindeksan
Mengiris Iterables dengan Python
Mengiris Python memungkinkan Anda untuk mengakses berbagai elemen dari iterable. Misalnya, Anda bisa mendapatkan tiga angka pertama dari daftar angka dengan mengiris
Mengiris dengan Python didasarkan pada pengindeksan berbasis nol
Sintaks slicing adalah sebagai berikut
iterable[start:stop:stepsize]_Sintaks ini disebut sintaks pengindeksan dari slicing. (Nanti, Anda akan mempelajari sintaks alternatif. )
Di mana
- mulai menandai indeks awal dari irisan. Default ke awal daftar
- berhenti menandai akhir dari irisan. Merupakan nilai pertama yang tidak dipilih ke irisan. Default untuk mengembalikan sisa daftar
- stepsize menentukan berapa banyak elemen yang akan dilompati. Default ke 1
Contoh 1. Mari mengakses elemen daftar ke-2, ke-3, dan ke-4
Untuk melakukan ini, Anda perlu
- Mulai mengiris dari elemen ke-2 (1 indeks)
- Berhenti mengiris sebelum elemen ke-5 (4 indeks)
- Melangkahi 1 nilai sekaligus
Inilah tampilannya dalam kode
[-1, -2, -3]0Keluaran
[-1, -2, -3]1Karena ukuran langkah adalah 1 secara default, Anda tidak perlu menulisnya secara terpisah. Sebagai gantinya, Anda bisa menulis nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_9
Contoh 2. Mari mengakses tiga elemen pertama dari daftar
Untuk melakukan ini, Anda perlu
- Mulai mengiris dari awal daftar
- Berhenti mengiris sebelum elemen ke-4 (3 indeks)
- Melangkahi 1 nilai sekaligus
Namun seperti yang sudah Anda ketahui, start berarti memulai dari awal secara default. Juga, ukuran langkah adalah 1 secara default. Jadi kita bisa menghilangkan keduanya
Inilah tampilannya dalam kode
[-1, -2, -3]2Keluaran
[-1, -2, -3]3Contoh 3. Mari dapatkan setiap elemen ketiga dari daftar
Untuk melakukan ini
- Mulai mengiris dari awal
- Berhenti mengiris pada akhirnya
- Melangkahi 3 nilai
Saat Anda mulai dari awal dan akhir di akhir, Anda tidak perlu menentukan parameter mulai dan berhenti. Satu-satunya yang tersisa adalah ukuran langkah, yang perlu diatur 3
Inilah tampilannya dalam kode
[-1, -2, -3]4Keluaran
[-1, -2, -3]5Pengirisan Negatif dengan Python
Dalam Python, mirip dengan pengindeksan negatif, Anda dapat menggunakan pemotongan negatif. Ini berarti Anda mengakses rentang nilai dengan menggunakan indeks negatif sebagai parameter mulai dan berhenti
Pemotongan negatif mengikuti sintaks yang sama dengan pemotongan positif dengan parameter mulai dan berhenti menjadi negatif
Omong-omong, Anda juga dapat menentukan ukuran langkah negatif untuk mundur saat mengiris
Contoh 1. mari dapatkan tiga elemen terakhir dari daftar
Untuk melakukan ini, Anda perlu
- Mulai mengiris pada elemen terakhir ke-3 (-3 indeks)
- Berhenti di akhir daftar
- Melangkahi 1 nilai sekaligus
Ini berarti Anda hanya perlu menentukan parameter awal di -3 saat mengiris. Ini membuat irisan dimulai dari -3 dan secara otomatis melewati sisa daftar
Begini tampilannya
[-1, -2, -3]7Keluaran
[-1, -2, -3]_8Contoh 2. Membalikkan daftar angka
Untuk melakukan ini, Anda dapat menggunakan mengiris
- Mulai dari akhir daftar
- Berhenti di awal daftar
- Langkah mundur 1 nilai pada saat itu (-1 ukuran langkah)
Dengan kata lain, Anda tidak perlu menentukan parameter mulai atau berhenti. Satu-satunya hal yang perlu Anda tentukan adalah ukuran langkah -1 untuk memulai dari akhir dan akhir dari awal
Inilah tampilannya dalam kode
[-1, -2, -3]_9Keluaran
iterable[start:stop:stepsize]_0Sekarang Anda mengerti bagaimana mengiris bekerja di Python menggunakan sintaks pengindeksan
Alternatifnya, Anda dapat menggunakan objek slice bawaan saat mengiris iterables
Iris Objek dengan Python
Di Python, ada tipe bawaan yang disebut slice
Untuk membuat objek irisan, gunakan fungsi slice() bawaan dengan sintaks berikut
iterable[start:stop:stepsize]_1Di mana
- start adalah indeks awal di mana pemotongan dimulai. Default ke Tidak Ada
- stop adalah indeks akhir sampai pemotongan berlanjut. Mengiris berhenti di berhenti – 1
- stepsize adalah jumlah item yang akan dilompati saat mengiris. Default ke Tidak Ada
Inti dari objek slice adalah Anda dapat mengganti pengindeksan untuk mengiris (100 10000) dengan 100 10001 untuk mengiris iterable
Mari lompat kembali ke salah satu contoh sebelumnya di mana kita mengambil elemen ke-2, ke-3, dan ke-4 dari daftar
[-1, -2, -3]0Di sini Anda menggunakan sintaks pemotongan di mana Anda menentukan mulai, berhenti, dan ukuran langkah langsung di dalam tanda kurung siku
Sekarang, daripada melakukannya dengan cara ini, mari gunakan objek irisan
iterable[start:stop:stepsize]_3Keluaran
iterable[start:stop:stepsize]_4Seperti yang Anda lihat, ini menghasilkan hasil yang persis sama
Anda dapat menggunakan objek irisan untuk mengiris daftar dengan cara apa pun yang Anda inginkan. Tapi alih-alih menghilangkan mulai, berhenti, atau ukuran langkah, gunakan Tidak Ada
Sebagai contoh, mari kita membalikkan daftar dengan objek slice
iterable[start:stop:stepsize]_5Keluaran
iterable[start:stop:stepsize]_6Di sini 100 1000_2 berperilaku sama seperti 100 10003
Saat Menggunakan Mengiris dengan Python
Mengiris berguna jika Anda ingin mengakses, memodifikasi, atau menghapus bagian dari iterable
Mari kita lihat beberapa contoh dari setiap kasus penggunaan
Akses Elemen dengan Mengiris dengan Python
Mengakses rentang elemen dengan slicing adalah kasus penggunaan yang populer untuk slicing
Dalam panduan ini, Anda telah melihat lusinan contoh mengakses bagian iterables dengan slicing
Sebagai contoh, mari dapatkan tiga nilai pertama dari sebuah tuple
iterable[start:stop:stepsize]_7Keluaran
iterable[start:stop:stepsize]_8Aplikasi yang sangat umum untuk mengakses iterables dengan slicing adalah membalikkan iterable dengan Python
Sebagai contoh, mari kita membalikkan sebuah string
iterable[start:stop:stepsize]_9Keluaran
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)0Memodifikasi Elemen dengan Mengiris dengan Python
Terkadang Anda mungkin ingin mengubah rentang item secara berurutan. Alih-alih memodifikasi nilai secara terpisah atau menggunakan perulangan for, Anda dapat menggunakan pemotongan
Sebagai contoh sederhana, mari kita ganti dua elemen pertama dari sebuah daftar dengan dua elemen lainnya
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_1Keluaran
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_2Sebagai contoh yang sedikit lebih maju, mari ubah setiap angka detik menjadi negatif dalam daftar angka
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_3Keluaran
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_4Hapus Elemen dengan Mengiris dengan Python
Anda dapat menggunakan slicing untuk menghilangkan rentang item dalam iterable. Untuk melakukannya, gunakan pernyataan bawaan del pada sebuah slice
Misalnya, mari hapus setiap elemen kedua dalam daftar
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)5Keluaran
nums = [10, 100, 1000, 10_000, 100_000] second = nums[1] third = nums[2] print(second, third)_6Kesimpulan
Hari ini Anda belajar cara mengiris bekerja dengan Python
Singkatnya, mengiris berarti mengakses banyak elemen sekaligus. Mengiris mengembalikan urutan yang asli