Cara menggunakan reverse slice python

The docs simply aren't correct about the default values as you've pointed out. However, they're consistent other than that minor error. You can view the docs I am referring to here:

Note that the behavior is definitionaly correct according to the docs:

The slice of s from i to j with step k is defined as the sequence of items with index x = i + n*k such that 0 <= n < (j-i)/k. In other words, the indices are i, i+k, i+2*k, i+3*k and so on, stopping when j is reached (but never including j).

When you do:

>>> a = "hello"
>>> y = a[0:5:-1]

we have that i == 0, j == 5, and k == -1. So we are grabbing items at index x = i + n*k for n starting at

>>> y
''
0 and going up to
>>> y
''
1. However, observe that
>>> y
''
2. There are no n such that
>>> y
''
4, so you get the empty string:

>>> y
''

Do >>> y '' 5 when in doubt (it's almost always what we want)

It's almost always the case that when you pass a negative step to something like

>>> y
''
6, what you want to happen is for the sub selection to happen first, and then just go backwards by
>>> y
''
7 (i.e. we usually want
>>> y
''
8.

Futhermore, to add to the confusion, it happens to be the case that

x[start:stop:step] == x[start:stop][::step] 

if

>>> y
''
9. For example:

>>> x = list(range(10))
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x[2:6:2]
[2, 4]
>>> x[2:6][::2]
[2, 4]
>>> x[1:10][::3]
[1, 4, 7]
>>> x[1:10:3]
[1, 4, 7]

Unfortunately, this doesn't hold when

x[start:stop:step] == x[start:stop][::step] 
0, even though it's tempting to think that it should.

After being burned by this a couple times, I realized it's just safer to always do the step clause after you perform the

x[start:stop:step] == x[start:stop][::step] 
1 slice. So I almost always start with
x[start:stop:step] == x[start:stop][::step] 
2, at least when prototyping or creating a new module where correctness/readability is the primiary concern. This is less performant than doing a single slice, but if performance is an issue, then you can do the less readable:

Pada pertemuan sebelumnya kita telah mempelajari tipe data dan variabel di python. Akan tetapi, kita hanya mempelajari dasar-dasarnya saja alias tipe data yang sederhana.

Mulai pada pertemuan ini, insyaallah kita akan mengambil beberapa pelajaran tentang tipe data koleksi (collection) pada python.

Apa maksud dari tipe data koleksi?

Ia adalah suatu jenis atau tipe data yang digunakan untuk menghimpun kumpulan data, atau data yang berjumlah lebih dari satu.

Secara umum, terdapat 4 tipe data koleksi pada python, yaitu:

  • List
  • Tuple
  • Set
  • Dictionary

Masing-masing dari 4 tipe data di atas memiliki sifat dan kegunaan sendiri-sendiri. Agar kita tahu kapan kita membutuhkan tipe data a dan kapan kita membutuhkan tipe data b, maka kita harus mempelajari semuanya dengan baik.

Dan pada pertemuan ini, kita akan coba terlebih dahulu berkenalan dengan tipe data

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
0 pada python.

Tipe Data List

Tipe data list adalah tipe data koleksi yang bersifat ordered (terurut) dan juga bersifat changable (bisa diubah). Tipe data ini bisa kita definisikan dengan tanda kurung siku

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
1 di dalam Python.

Kita bisa abaikan dulu pengertiannya karena pada tahap ini, praktik lebih penting untuk membentuk pemahaman yang lebih dalam terhadap suatu tipe data.

Bagaimana cara membuat list?

Langsung saja, seduh kopi anda, buka teks editor, lalu coba tuliskan kode program di bawah ini.

# list kosong
list_kosong = []

# list yang berisi kumpulan string
list_buah = ['Pisang', 'Nanas', 'Melon', 'Durian']

# list yang berisi kumpulan integer
list_nilai = [80, 70, 90, 60]

# list campuran berbagai tipe data
list_jawaban = [150, 33.33, 'Presiden Sukarno', False]

Kode program 1

Pada Kode program 1, kita lihat bahwa sebuah list didefinisikan menggunakan tanda kurung siku (

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
1).

Kita juga saksikan bahwa list pada python, bisa berisi berbagaimacam tipe data. Bisa terdiri dari tipe data yang sejenis mau pun dari tipe data yang berbeda-beda.

Menampilkan List

Kita bisa menggunakan perintah

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
3 untuk melihat isi dari sebuah list, baik secara menyeluruh maupun sebagian.

Pada Kode program 1 di atas, tambahkan kode program berikut ini untuk menampilkan semua isi dari list:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)

Jika dijalankan, kita akan mendapatkan output sebagai berikut:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]

Kita juga bisa menampilkan isi tertentu dari list dengan menggunakan indeks. Setiap data pada list memiliki indeks sebagai alamat. Dan indeks adalah sebuah nilai integer dimulai dari 0 yang menjadi acuan di mana sebuah data disimpan di dalam list.

Tambahkan kode program berikut:

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])

Output:

Pisang
Melon
Nanas
Durian

Kita juga bisa menggunakan indeks negatif untuk menampilkan data dari belakang. Perhatikan contoh berikut:

print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])

Output:

Durian
Melon
Nanas
Pisang

NB: yang perlu diperhatikan adalah: bahwa indeks negatif tidak dimulai dari 0, akan tetapi dimulai dari angka 1.

Slicing List

Slicing list adalah teknik untuk memotong nilai pada list. Maksudnya adalah: kita mengambil beberapa nilai dari anggota list dengan mendefinisikan indeks kiri dan indeks kanan.

Perhatikan contoh kode program berikut:

list_buah = ['Pisang', 'Nanas', 'Melon', 'Durian']

print(list_buah[0:1])
print(list_buah[0:2])
print(list_buah[1:3])
print(list_buah[0:-1])
print(list_buah[-1:-3])
print(list_buah[-1:3])
print(list_buah[-3:-1])

Jika kita eksekusi, program di atas akan menghasilkan output:

['Pisang']
['Pisang', 'Nanas']
['Nanas', 'Melon']
['Pisang', 'Nanas', 'Melon']
[]
[]
['Nanas', 'Melon']

Keterangan

  • parameter indeks sebelah kiri mendefinisikan awal indeks dari nilai yang akan ditampilkan.
  • parameter indeks sebelah kanan mendefinisikan batas yang harus ditampilkan.

Slicing tanpa batas

Kita juga bisa melakukan slicing data tanpa mendefinisikan indeks batas. Coba perhatikan contoh berikut:

list_buah = ['Pisang', 'Nanas', 'Melon', 'Durian']

print(list_buah[0:])
print(list_buah[1:])
print(list_buah[2:])
print(list_buah[3:])
print(list_buah[:0])
print(list_buah[:1])
print(list_buah[:2])
print(list_buah[:3])
print(list_buah[:4])

Kode program di atas akan menampilkan output sebagai berikut:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
0

Mengubah data di dalam list

Pada awal pembahasan, dikatakan bahwa list adalah tipe data yang bersifat changable alias bisa diubah.

Bagaimana cara mengubah data di dalam list?

Caranya mudah, seperti mengubah nilai variabel pada umumnya. Perhatikan contoh berikut:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
1

Output:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
2

Kita juga bisa mengubah data dalam range

Di dalam python, kita juga bisa mengubah data dalam range tertentu secara sekaligus. Caranya tidak jauh berbeda dengan apa yang telah kita pelajari pada poin slicing data list.

Pada kode program di atas, tambahkan lagi kode program berikut:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
3

Maka kita akan mendapati bahwa nilai

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
4 dan
print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
5 akan berubah menjadi
print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
6 dan
print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
7.

Output:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
4

Menambah item ke dalam list

Setelah kita mengubah data pada list, sekarang kita akan mencoba untuk menambahkan sebuah data baru ke dalam list.

Menambah data di belakang

Yang pertama, kita bisa menggunakan fungsi

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
8. Fungsi ini menerima satu parameter, yang mana parameter tersebut akan dimasukkan sebagai nilai baru pada list, dan nilai baru tersebut berada pada akhir item.

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
5

Menambah data di depan

Selain fungsi

print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
8, kita juga bisa menambahkan item ke dalam list dengan menggunakan fungsi
Pisang
Melon
Nanas
Durian
0. Fungsi insert ini menerima dua buah parameter:

  1. Parameter pertama untuk mendefinisikan posisi indeks dari data yang akan dimasukkan
  2. Parameter kedua untuk mendefinisikan nilai yang akan dimasukkan ke dalam list

Berikut ini contoh untuk memasukkan nilai

Pisang
Melon
Nanas
Durian
1 ke dalam
Pisang
Melon
Nanas
Durian
2 pada indeks
Pisang
Melon
Nanas
Durian
3.

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
6

Menambah data di mana pun

Tidak hanya terbatas indeks

Pisang
Melon
Nanas
Durian
3, kita juga bisa memasukkan nilai pada indeks berapa pun pada list.

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
7

Jika 3 potongan kode program di atas dijalankan, maka kita akan mendapatkan output seperti berikut:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
8

Menghapus item dari list

Untuk menghapus item dari list, kita bisa menggunakan dua buah fungsi; fungsi

Pisang
Melon
Nanas
Durian
5 dan fungsi
Pisang
Melon
Nanas
Durian
6, kita juga bisa menggunakan statement
Pisang
Melon
Nanas
Durian
7.

Menghapus item dengan fungsi pop()

Fungsi

Pisang
Melon
Nanas
Durian
5 akan mengambil item terakhir dari sebuah list, lalu menghapusnya. Karena ia juga “mengambil”, maka kita bisa menyimpan hasil kembalian dari fungsi
Pisang
Melon
Nanas
Durian
5 ke dalam sebuah variabel.

Perhatikan contoh berikut:

print('list_kosong:', list_kosong)
print('list_buah:', list_buah)
print('list_nilai:', list_nilai)
print('list_jawaban:', list_jawaban)
9

Output:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
0

Menghapus dengan fungsi remove()

Selanjutnya adalah fungsi

Pisang
Melon
Nanas
Durian
6. Fungsi ini akan menghapus data yang memiliki nilai yang sama dengan parameter yang dimasukkan. Perhatikan contoh berikut:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
1

Output:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
2

Menghapus dengan statement del

Selanjutnya, kita juga bisa menghapus item pada list dengan menggunakan statement

Pisang
Melon
Nanas
Durian
7. Dengan statement ini, kita bisa menghapus indeks berapa pun dari item list.

Perhatikan contoh berikut:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
3

Output:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
4

Menggabungkan dua buah list atau lebih

Berikutnya hal umum yang biasa kita lakukan dengan list adalah: menggabungkan dua buah list (atau lebih) menjadi satu kesatuan.

Bisa jadi kita memiliki 3 list berikut:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
5

Kita bisa dengan mudah menggabungkan ketiganya menggunakan operator

print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
2.

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
6

Program di atas akan menghasilkan output:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
7

Mengurutkan data

Terakhir tapi bukan yang paling akhir, kita bisa mengurutkan data list pada python dengan memanggil fungsi

print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
3.

Perhatikan contoh berikut:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
8

Output:

list_kosong: []
list_buah: ['Pisang', 'Nanas', 'Melon', 'Durian']
list_nilai: [80, 70, 90, 60]
list_jawaban: [150, 33.33, 'Presiden Sukarno', False]
9

Fungsi-fungsi bawaan list

Masih ada banyak sekali fungsi-fungsi list pada python yang belum kita bahas.

Secara umum, berikut ini di antara fungsi-fungsi list yang bisa kita manfaatkan untuk menyelesaikan berbagai macam permasalahan.

NamaKeterangan
print(list_buah[0])
print(list_buah[2])
print(list_buah[1])
print(list_buah[3])
8Menambahkan elemen baru pada list
print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
5Menghapus semua item pada list
print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
6Mengembalikan hasil duplikat dari list
print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
7Mengembalikan jumlah item pada list sesuai yang didefinisikan
print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
8Mengembalikan indeks pertama dari item yang sudah didefinisikan
Pisang
Melon
Nanas
Durian
0Menambahakn item baru pada list pada posisi tertentu
Pisang
Melon
Nanas
Durian
5Menghapus item terakhir pada list, atau juga bisa menghapus item pada posisi yang didefinisikan
Pisang
Melon
Nanas
Durian
6Hapus item pada list sesuai dengan nilai yang didefinisikan
Durian
Melon
Nanas
Pisang
2Membalikkan posisi tiap item pada list
Durian
Melon
Nanas
Pisang
3Mengurutkan list

Selanjutnya

Setelah tulisan yang cukup panjang tentang list. Pada pertemuan yang akan datang insyaallah kita akan membahas tipe data koleksi selanjutnya yaitu: Tuple! 🥳

Nantikan terus ya tulisan-tulisan di Jago Ngoding, jangan lupa comment, share, dan like fanspage kami! 😁😄

Apakah kegunaan dari fungsi reverse?

Reverse: Fungsi ini digunakan untuk mengembalikan urutan daftar. Extend: Fungsi ini digunakan untuk memperpanjang daftar dengan menambahkan semua item dalam daftar yang diberikan.

Append python buat apa?

Append. Salah satu fitur dalam array python yang cukup sering digunakan adalah fungsi append. Fungsi append ini berguna untuk menambahkan nilai array pada urutan terakhir. Fungsi ini sedikit berbeda dengan fungsi insert, dimana fungsi insert bisa menambahkan nilai array pada posisi tertentu.

Apa itu Struktur Data di python?

Dalam bahasa pemrograman Python, struktur data yang paling dasar adalah urutan atau lists. Setiap elemen-elemen berurutan akan diberi nomor posisi atau indeksnya. Indeks pertama dalam list adalah nol, indeks kedua adalah satu dan seterusnya.

Sebutkan dan jelaskan struktur data apa saja yang ada pada bahasa pemrograman python?

Sekarang kita akan mempelajari struktur data List, Tuple, Set, dan Dictionary..
1. List. List adalah salah satu struktur data dalam bahasa pemrograman python yang mampu menyimpan kumpulan data (objek/nilai), yang disebut elemen list. Elemen pada list tersimpan menurut urutan (sequence) tertentu. ... .
2. Tuple. ... .
3. Set..