Python Daftar indeks() dengan Contoh
โก Ringkasan Cerdas
Python Fungsi `list index()` mengembalikan posisi pertama dari elemen yang diberikan, sedangkan `loo` mengembalikan nilaiping Konstruksi, list comprehension, enumerate(), filter(), pustaka NumPy, dan more_itertools.locate() memperluas teknik ini untuk mengumpulkan setiap indeks yang cocok di seluruh daftar yang berisi nilai duplikat.

Daftar adalah wadah yang menyimpan item dengan tipe data berbeda (int, float, Boolean, string, dll.) dalam urutan yang berurutan. Ini adalah struktur data penting yang ada di dalamnya PythonData ditulis dalam tanda kurung siku ([]) dan nilainya dipisahkan dengan tanda koma (,).
Item di dalam daftar diindeks dengan elemen pertama dimulai dari indeks 0. Anda dapat membuat perubahan pada 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 pada sebuah daftar, dan salah satu yang penting adalah index().
Python Daftar indeks()
Metode daftar indeks() membantu Anda menemukan indeks terendah pertama dari elemen tertentu. Jika ada elemen duplikat di dalam daftar, indeks pertama elemen tersebut dikembalikan. Ini adalah cara termudah dan mudah untuk mendapatkan indeks.
Selain metode index() bawaan list, Anda juga dapat menggunakan cara lain untuk mendapatkan indeks seperti loo.ping melalui daftar, menggunakan list comprehension, enumerate(), dan metode filter.
Metode daftar indeks() mengembalikan indeks terendah pertama dari elemen tertentu.
Sintaksis
list.index(element, start, end)
Parameter Teknis
| Parameter Teknis | Deskripsi |
|---|---|
| elemen | Elemen yang ingin Anda dapatkan indeksnya. |
| awal | Parameter ini bersifat opsional. Anda dapat menentukan indeks awal untuk mencari elemen tersebut. 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 daftar indeks() mengembalikan indeks elemen tertentu. Jika elemen tidak ada dalam daftar, metode indeks() akan memunculkan kesalahan, misalnya ValueError: 'Element' is not in the list.
Contoh: Untuk mencari indeks elemen tertentu.
Dalam daftar my_list = ['A', 'B', 'C', 'D', 'E', 'F'], kita 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 awal dan akhir di indeks()
Dalam contoh ini, kita akan mencoba membatasi pencarian indeks dalam sebuah daftar menggunakan indeks awal dan indeks 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.
Saat Anda mencoba mencari elemen yang tidak ada dalam daftar, 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 suatu elemen dalam daftar
Dengan metode list.index(), kita telah melihat bahwa metode ini memberikan indeks elemen yang diteruskan sebagai argumen.
Sekarang anggap daftar tersebut sebagai: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Nama 'Guru' muncul 3 kali dalam indeks, dan saya ingin semua indeks dengan nama 'Guru'.
Dengan menggunakan perulangan for, kita seharusnya 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 perulangan while akan menelusuri daftar yang diberikan untuk mendapatkan semua indeks elemen tertentu.
Dalam daftar: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], kita membutuhkan semua indeks elemen 'Guru'.
Berikut adalah contoh yang menunjukkan cara mendapatkan semua indeks menggunakan perulangan while.
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 memanfaatkan pemahaman daftar pada daftar.
Pemahaman daftar adalah Python fungsi yang digunakan untuk membuat urutan baru (seperti daftar, kamus, dll.) yaitu menggunakan urutan yang telah dibuat.
Mereka membantu mengurangi loop 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 suatu elemen dalam daftar
Fungsi Enumerate() adalah fungsi bawaan yang tersedia di PythonAnda dapat menggunakan `enumerate` untuk mendapatkan semua indeks elemen dalam sebuah daftar. Fungsi ini menerima input berupa objek yang dapat diiterasi (yaitu, objek yang dapat diulang), dan outputnya adalah objek dengan penghitung untuk setiap item.
Contoh berikut menunjukkan cara menggunakan fungsi enumerate pada sebuah list untuk mendapatkan semua indeks untuk elemen tertentu.
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 tersebut.
Mari kita gunakan metode filter() untuk mendapatkan indeks untuk elemen tertentu dalam daftar.
Contoh berikut menunjukkan cara menggunakan filter pada sebuah 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 secara khusus digunakan untuk array. Jadi di sini kita 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) Gunakan `np.array` untuk mengkonversi list 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, menggunakan np.where().
item_index = np.where(np_array == 'Guru')[0]
Kode kerja terakhir dengan keluaran 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 sebuah daftar.
Fungsi more_itertools.locate() membantu menemukan indeks elemen dalam daftar. Modul ini akan bekerja dengan Python versi 3.5+. Paket selengkapnya_itertools harus diinstal terlebih dahulu untuk dapat menggunakannya.
Berikut adalah langkah-langkah untuk menginstal dan menggunakan more_itertools:
Langkah 1) Instal more_itertools menggunakan pip (Python pengelola paket). Perintahnya adalah
pip install more_itertools
Langkah 2) Setelah instalasi selesai, impor menemukan modul seperti yang ditunjukkan di bawah ini.
from more_itertools import locate
Sekarang Anda dapat menggunakan modul loc pada daftar seperti yang ditunjukkan pada contoh di bawah ini:
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]
