Indeks Daftar Python () dengan Contoh
Daftar adalah wadah yang menyimpan item dari tipe data yang berbeda (int, float, Boolean, string, dll.) dalam urutan yang berurutan. Ini adalah struktur data penting yang ada di dalam Python. Data ditulis di dalam tanda kurung siku ([]), dan nilainya dipisahkan dengan koma().
Item di dalam daftar diindeks dengan elemen pertama dimulai dari indeks 0. Anda dapat membuat perubahan dalam daftar yang dibuat dengan menambahkan item baru atau dengan memperbarui, menghapus yang sudah ada. Itu juga dapat memiliki item duplikat dan daftar bersarang.
Ada banyak metode yang tersedia dalam daftar, dan yang terpenting adalah index().
Dalam tutorial ini, Anda akan mempelajari:
- indeks Daftar Python()
- Menggunakan for-loop untuk mendapatkan indeks elemen dalam daftar
- Menggunakan while-loop dan list.index()
- Menggunakan pemahaman daftar untuk mendapatkan indeks elemen dalam daftar
- Menggunakan Enumerate untuk mendapatkan indeks elemen dalam daftar
- Menggunakan filter untuk mendapatkan indeks elemen dalam daftar
- Menggunakan NumPy untuk mendapatkan indeks elemen dalam daftar
- Menggunakan more_itertools.locate() untuk mendapatkan indeks elemen dalam daftar
indeks Daftar Python()
Metode list index() membantu Anda menemukan indeks terendah pertama dari elemen yang diberikan. Jika ada elemen duplikat di dalam daftar, indeks elemen pertama dikembalikan. Ini adalah cara termudah dan langsung untuk mendapatkan indeks.
Selain metode daftar index() bawaan, Anda juga dapat menggunakan cara lain untuk mendapatkan indeks seperti mengulang daftar, menggunakan pemahaman daftar, enumerate(), metode filter.
Metode list index() mengembalikan indeks terendah pertama dari elemen yang diberikan.
Sintaks
list.index(element, start, end)
Parameter
Parameter | Deskripsi |
elemen | Elemen yang ingin Anda indeks. |
mulai | Parameter ini opsional. Anda dapat menentukan indeks awal:untuk mencari elemen. Jika tidak diberikan, nilai defaultnya adalah 0. |
akhir | Parameter ini opsional. Anda dapat menentukan indeks akhir untuk elemen yang akan dicari. Jika tidak diberikan, dianggap sampai akhir daftar. |
Nilai Pengembalian
Metode list index() mengembalikan indeks dari elemen yang diberikan. Jika elemen tidak ada dalam daftar, metode index() akan memunculkan kesalahan, misalnya ValueError:'Element' tidak ada dalam daftar.
Contoh:Untuk menemukan indeks dari elemen yang diberikan.
Dalam daftar my_list =['A', 'B', 'C', 'D', 'E', 'F'] , kami ingin mengetahui indeks untuk elemen C dan F.
Contoh di bawah ini menunjukkan cara mendapatkan indeks.
my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("The index of element C is ", my_list.index('C'))
print("The index of element F is ", my_list.index('F'))
Keluaran:
The index of element C is 2
The index of element F is 5
Contoh:Menggunakan start dan end di index()
Dalam contoh ini akan mencoba membatasi pencarian indeks dalam daftar menggunakan indeks awal dan akhir.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('C', 1, 5))
print("The index of element F is ", my_list.index('F', 3, 7))
#using just the startindex
print("The index of element D is ", my_list.index('D', 1))
Keluaran:
The index of element C is 2
The index of element F is 5
The index of element D is 3
Contoh:Untuk menguji metode index() dengan elemen yang tidak ada.
Ketika Anda mencoba mencari indeks dalam daftar untuk elemen yang tidak ada, Anda akan mendapatkan kesalahan seperti yang ditunjukkan di bawah ini:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))
Keluaran:
Traceback (most recent call last):
File "display.py", line 3, in <module>
print("The index of element C is ", my_list.index('Z'))
ValueError: 'Z' is not in list
Menggunakan for-loop untuk mendapatkan indeks elemen dalam daftar
Dengan metode list.index() , kita telah melihat bahwa metode ini memberikan indeks elemen yang diteruskan sebagai argumen.
Sekarang perhatikan daftarnya sebagai :my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] . Nama 'Guru' hadir 3 kali dalam indeks, dan saya ingin semua indeks dengan nama 'Guru'.
Menggunakan for-loop kita harus bisa mendapatkan beberapa indeks seperti yang ditunjukkan pada contoh di bawah ini.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
all_indexes = []
for i in range(0, len(my_list)) :
if my_list[i] == 'Guru' :
all_indexes.append(i)
print("Originallist ", my_list)
print("Indexes for element Guru : ", all_indexes)
Keluaran:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]
Menggunakan while-loop dan list.index()
Menggunakan while-loop akan mengulang daftar yang diberikan untuk mendapatkan semua indeks dari elemen yang diberikan.
Dalam daftar :my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], kita membutuhkan semua indeks elemen 'Guru'.
Di bawah ini diberikan contoh yang menunjukkan cara mendapatkan semua indeks menggunakan while-loop
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
result = []
elementindex = -1
while True:
try:
elementindex = my_list.index('Guru', elementindex+1)
result.append(elementindex)
except ValueError:
break
print("OriginalList is ", my_list)
print("The index for element Guru is ", result)
Keluaran:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
The index for element Guru is [0, 3, 6]
Menggunakan pemahaman daftar untuk mendapatkan indeks elemen dalam daftar
Untuk mendapatkan semua indeks, cara cepat dan mudah adalah dengan menggunakan pemahaman daftar pada daftar.
Pemahaman daftar adalah fungsi Python yang digunakan untuk membuat urutan baru (seperti daftar, kamus, dll.) yaitu, menggunakan urutan yang telah dibuat.
Mereka membantu mengurangi pengulangan yang lebih panjang dan membuat kode Anda lebih mudah dibaca dan dipelihara.
Contoh berikut menunjukkan cara melakukannya:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
print("Originallist ", my_list)
all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']
print("Indexes for element Guru : ", all_indexes)
Keluaran:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]
Menggunakan Enumerate untuk mendapatkan indeks elemen dalam daftar
Fungsi Enumerate() adalah fungsi bawaan yang tersedia dengan python. Anda dapat menggunakan enumerate untuk mendapatkan semua indeks elemen dalam daftar. Dibutuhkan input sebagai objek yang dapat diubah (yaitu, objek yang dapat diulang), dan outputnya adalah objek dengan penghitung untuk setiap item.
Contoh berikut menunjukkan bagaimana menggunakan enumerate pada daftar untuk mendapatkan semua indeks untuk elemen yang diberikan.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
print("Originallist ", my_list)
print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Keluaran:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]
Menggunakan filter untuk mendapatkan indeks elemen dalam daftar
Metode filter() memfilter daftar yang diberikan berdasarkan fungsi yang diberikan. Setiap elemen daftar akan diteruskan ke fungsi, dan elemen yang diperlukan akan disaring berdasarkan kondisi yang diberikan dalam fungsi.
Mari kita gunakan metode filter() untuk mendapatkan indeks untuk elemen yang diberikan dalam daftar.
Contoh berikut menunjukkan cara menggunakan filter pada daftar.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
print("Originallist ", my_list)
all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))
print("Indexes for element Guru : ", all_indexes)
Keluaran:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]
Menggunakan NumPy untuk mendapatkan indeks elemen dalam daftar
Pustaka NumPy khusus digunakan untuk array. Jadi di sini akan menggunakan NumPy untuk mendapatkan indeks elemen yang kita butuhkan dari daftar yang diberikan.
Untuk menggunakan NumPy, kita harus menginstalnya dan mengimpornya.
Berikut langkah-langkahnya:
Langkah 1) Instal NumPy
pip install numpy
Langkah 2) Impor Modul NumPy.
import numpy as np
Langkah 3) Manfaatkan np.array untuk mengonversi daftar menjadi array
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
np_array = np.array(my_list)
Langkah 4) Dapatkan indeks elemen yang Anda inginkan, menggunakannp.where()
item_index = np.where(np_array == 'Guru')[0]
Kode kerja terakhir dengan output adalah sebagai berikut:
import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
np_array = np.array(my_list)
item_index = np.where(np_array == 'Guru')[0]
print("Originallist ", my_list)
print("Indexes for element Guru :", item_index)
Keluaran:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0 3 6]
Menggunakan more_itertools.locate() untuk mendapatkan indeks elemen dalam daftar
More_itertools.locate() membantu menemukan indeks elemen dalam daftar. Modul ini akan bekerja dengan python versi 3.5+. Paket more_itertools harus diinstal terlebih dahulu untuk menggunakannya.
Berikut adalah langkah-langkah untuk menginstal dan menggunakan more_itertools
Langkah1) Instal more_itertools menggunakan pip (pengelola paket python). Perintahnya adalah
pip install more_itertools
Langkah 2) Setelah penginstalan selesai, impor lokasi modul seperti yang ditunjukkan di bawah ini
from more_itertools import locate
Sekarang Anda dapat menggunakan modul locate pada daftar seperti yang ditunjukkan di bawah ini pada contoh:
from more_itertools import locate
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
print("Originallist : ", my_list)
print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Keluaran:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]
Ringkasan:
- Metode list index() membantu Anda menemukan indeks dari elemen yang diberikan. Ini adalah cara termudah dan langsung untuk mendapatkan indeks.
- Metode list index() mengembalikan indeks dari elemen yang diberikan.
- Jika elemen tidak ada dalam daftar, metode index() akan memunculkan kesalahan, misalnya ValueError:'Element' is not in list.
- Selain metode daftar bawaan, Anda juga dapat menggunakan cara lain untuk mendapatkan indeks seperti mengulang daftar, menggunakan pemahaman daftar, menggunakan enumerate(), menggunakan filter, dll.
- Menggunakan for-loop dan while-loop untuk mendapatkan beberapa indeks dari elemen tertentu.
- Untuk mendapatkan semua indeks, cara yang cepat dan mudah adalah dengan menggunakan pemahaman daftar pada daftar.
- Pemahaman daftar adalah fungsi Python yang digunakan untuk membuat urutan baru.
- Mereka membantu mengurangi pengulangan yang lebih panjang dan membuat kode Anda lebih mudah dibaca dan dipelihara.
- Anda dapat menggunakan enumerate untuk mendapatkan semua indeks elemen dalam daftar.
- Fungsi Enumerate() adalah fungsi bawaan yang tersedia dengan python. Dibutuhkan input sebagai objek yang dapat diubah (yaitu, objek yang dapat diulang), dan outputnya adalah objek dengan penghitung untuk setiap item.
- Metode filter() memfilter daftar yang diberikan berdasarkan fungsi yang diberikan.
- Numpy library khusus digunakan untuk array. Anda dapat menggunakan NumPy untuk mendapatkan indeks elemen yang diberikan dalam daftar.
- The more_itertools.locate() adalah pustaka python lain yang membantu menemukan indeks dari daftar yang diberikan.