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.

  • ๐Ÿ”˜ Metode index(): Fungsi bawaan index() mengembalikan posisi terendah pertama dari suatu elemen dan menerima batas awal dan akhir opsional.
  • โ˜‘๏ธ ValueError: Fungsi index() akan menimbulkan ValueError jika elemen tidak ada, jadi bungkus panggilan tersebut dalam blok try-except untuk pencarian yang aman.
  • โœ… Semua kejadian: Perulangan for, while, atau list comprehension mengumpulkan setiap indeks ketika suatu nilai berulang di dalam daftar.
  • ๐Ÿงช Pembantu bawaan: Fungsi enumerate() dan filter() memasangkan indeks dengan setiap item, memberikan cara ringkas dalam satu baris untuk mengumpulkan posisi yang cocok.
  • ๏ธ NumPy dan more_itertools: np.where() dan more_itertools.locate() mengembalikan semua indeks yang cocok secara efisien untuk dataset besar.
  • ๐Ÿค– Alur kerja AI: Pipeline pembelajaran mesin menemukan posisi label dan mencocokkan sampel berdasarkan indeks sebelum array dimasukkan ke dalam model.

Python Daftar indeks()

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]

Pertanyaan Umum Demo Slot

Metode index() akan menimbulkan ValueError ketika elemen tersebut hilang. Bungkus panggilan tersebut dalam blok try-except, atau uji keanggotaan terlebih dahulu dengan operator in, sehingga nilai yang hilang tidak menyebabkan program Anda error.

Nilai yang dikembalikan oleh index() selalu berupa posisi non-negatif yang dihitung dari awal. Anda dapat memberikan argumen awal atau akhir negatif untuk membatasi pencarian, tetapi index() sendiri tidak pernah mengembalikan indeks negatif untuk elemen yang ditemukan.

Ya. Fungsi index() membandingkan elemen secara tepat, jadi 'Guru' dan 'guru' diperlakukan sebagai nilai yang berbeda. Pencarian dengan huruf besar/kecil yang salah akan menimbulkan ValueError. Normalisasikan string dengan lower() sebelum melakukan pencarian jika Anda memerlukan pencocokan yang tidak peka terhadap huruf besar/kecil.

Gunakan operator "in", misalnya jika 'Guru' di my_list. Fungsi ini mengembalikan True atau False tanpa menimbulkan kesalahan, sehingga Anda dapat dengan aman memanggil index() hanya ketika elemen tersebut benar-benar ada dalam daftar.

Untuk pencarian tunggal, fungsi index() bawaan sudah efisien karena berhenti pada kecocokan pertama. Untuk menemukan banyak nilai secara berulang, buatlah peta kamus (dictionary map).ping setiap nilai ke indeksnya, yang mengubah setiap pencarian menjadi operasi waktu konstan yang cepat.

Python List menyediakan metode index() tetapi tidak memiliki metode find(). Metode index() akan menimbulkan ValueError jika elemen tidak ada, sedangkan metode find() mengembalikan -1. Untuk list, tangkap kesalahan atau periksa keanggotaan dengan operator in sebagai gantinya.

Menemukan indeks suatu elemen membantu memetakan label kategorikal ke posisi numerik, menemukan di mana kelas yang diprediksi muncul, atau menyelaraskan kolom fitur sebelum pelatihan. NumPy memperluas ini dengan np.where() untuk pencarian indeks yang cepat di seluruh array dan dataset besar.

Ya. GitHub Copilot dan asisten AI berbasis agen menghasilkan fungsi index(), enumerate(), dan pencarian berbasis pemahaman dari komentar biasa, menyarankan penanganan kesalahan yang aman untuk nilai yang hilang, dan melakukan refactoring pada loop, meskipun Anda tetap harus menguji kasus-kasus ekstrem dan mengkonfirmasi posisi yang dikembalikan.

Ringkaslah postingan ini dengan: