Dalam Python, beberapa objek seperti _0s atau 1s dapat diiris. Misalnya, Anda bisa mendapatkan elemen pertama dari daftar atau string Show Python menggunakan tanda kurung siku ( 2 dan 3) untuk mengakses elemen tunggal objek yang dapat didekomposisi menjadi beberapa bagianNamun, ada lebih banyak hal di dalam tanda kurung siku ini daripada sekadar mengakses elemen individual Pengindeksan NegatifMungkin Anda sudah tahu bahwa Anda bisa menggunakan indeks negatif di Python seperti itu _Sesuatu seperti 4 mewakili elemen terakhir dari daftar, 5 mewakili elemen terakhir kedua dan seterusnyaColonBagaimana jika Anda ingin mengambil lebih dari satu elemen dari daftar? . Dengan Python, tidak masalah
Atau, bagaimana jika Anda menginginkan setiap elemen genap dari daftar Anda, mis. e. elemen 6, 7, dll. ? . Kita bisa menulis bahwa sebagaiObjek my_list = list("Python") print(my_list[0:-1])8Di belakang layar, indeks yang kami gunakan untuk mengakses item individual dari objek mirip 1 terdiri dari tiga nilai. 0. Objek ini disebut objek irisan dan dapat dibuat secara manual dengan fungsi 8 bawaanKita bisa mengecek apakah keduanya memang sama Coba lihat grafik di atas. Huruf _2 adalah elemen pertama dalam daftar kami, sehingga dapat diindeks oleh 6 (lihat angka di kotak hijau). Daftar memiliki panjang _4, dan oleh karena itu, elemen pertama dapat diindeks oleh 5 (pengindeksan negatif ditampilkan di kotak biru)Angka-angka dalam kotak hijau dan biru mengidentifikasi satu elemen dari daftar. Sekarang, lihat angka di kotak oranye. Ini menentukan indeks irisan dari daftar. Jika kita menggunakan potongan _6 dan 7, setiap elemen di antara angka-angka ini ditutupi oleh potongan. Beberapa contohItu hanya cara mudah untuk mengingat bahwa nilai 6 bersifat inklusif dan nilai 9 bersifat eksklusifDefault warasSebagian besar waktu, Anda ingin 8 1 Anda dengan
Oleh karena itu, ini adalah nilai default dan dapat dihilangkan dalam sintaks 4 kami
Secara teknis, setiap kali kita menghilangkan angka di antara titik dua, angka yang dihilangkan akan memiliki nilai 5Dan pada gilirannya, objek slice akan menggantikan 5 dengan
Namun, jika nilai _0 negatif, 5 diganti dengan
Misalnya, _4 secara teknis sama dengan 5Kasus spesial. MenyalinAda kasus khusus untuk mengiris yang terkadang bisa digunakan sebagai jalan pintas Jika Anda hanya menggunakan nilai default, mis. e. 6 itu akan memberi Anda item yang sama persis
Unsur-unsur dalam daftar memang sama. Namun, objek daftar tidak. Kami dapat memeriksanya dengan menggunakan 7 bawaan
Perhatikan bahwa setiap operasi irisan mengembalikan objek baru. Salinan urutan kami dibuat saat menggunakan hanya 8Berikut adalah dua cuplikan kode untuk mengilustrasikan perbedaannya ContohBeberapa contoh yang sering digunakan Gunakan casePython CodeSetiap elementanpa irisan, atau 8 untuk salinanSetiap elemen kedua 0 (genap) atau 1 (ganjil)Setiap elemen kecuali elemen pertama 2Setiap elemen kecuali elemen terakhir 3Setiap elemen kecuali elemen pertama dan terakhir 4Setiap elemen dalam urutan terbalik________45 TugasMemahami lingkaranSetiap objek 8 di Python memiliki metode 9. Metode ini akan mengembalikan sepasang ( _6, 9, 0) yang dengannya Anda dapat membangun kembali loop yang setara dengan operasi pemotongan. Kedengarannya rumit? Mari kita mulai dengan urutan Kemudian, kami membuat objek irisan. Mari kita ambil setiap elemen kedua, i. e. 0Karena kita menggunakan _5s, objek irisan perlu menghitung nilai 5 aktual berdasarkan panjang urutan kita. Oleh karena itu, untuk mendapatkan triple indeks Anda, kita perlu meneruskan panjangnya ke metode ________ 45 ______ 9, seperti itu
Ini akan memberi kita triple 7. Kami sekarang dapat membuat ulang loop seperti itu
Ini mengakses elemen yang sama dari daftar kami seperti 8 itu sendiriMembuat Kelas Sendiri SliceablePython tidak akan menjadi Python jika Anda tidak dapat menggunakan objek irisan di kelas Anda sendiri. Lebih baik lagi, irisan tidak perlu berupa nilai numerik. Kita bisa membuat buku alamat yang dapat diiris berdasarkan indeks abjad
PenjelasanMetode sequence = list("Python")
start = 0
stop = 6
step = 2
i = start
while i != stop:
print(sequence[i])
i = i+step |