Python List index () dengan Contoh

Daftar Isi:

Anonim

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 di 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 pertama dari elemen tersebut dikembalikan. Ini adalah cara termudah dan langsung untuk mendapatkan indeks.

Selain metode built-in list index (), Anda juga dapat menggunakan cara lain untuk mendapatkan indeks seperti perulangan melalui daftar, menggunakan pemahaman daftar, enumerate (), metode filter.

Metode list index () mengembalikan indeks terendah pertama dari elemen yang diberikan.

Sintaksis

list.index(element, start, end)

Parameter

Parameter Deskripsi
elemen Elemen yang ingin Anda indeks.
Mulailah Parameter ini opsional. Anda dapat menentukan start: index 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, itu dianggap sampai akhir daftar.

Nilai Kembali

Metode list index () mengembalikan indeks dari elemen yang diberikan. Jika elemen tidak ada dalam daftar, metode index () akan memunculkan kesalahan, misalnya, ValueError: 'Elemen' 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 2The index of element F is 5

Contoh: Menggunakan awal dan akhir 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 startindexprint("The index of element D is ", my_list.index('D', 1))

Keluaran:

The index of element C is 2The index of element F is 5The 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 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 dilewatkan sebagai argumen.

Sekarang pertimbangkan daftar 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 for-loop 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 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 adalah contoh yang menunjukkan bagaimana mendapatkan semua indeks menggunakan while-loop

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("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 loop yang lebih lama dan membuat kode Anda lebih mudah dibaca dan dipelihara.

Contoh berikut menunjukkan bagaimana 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 sebuah daftar. Dibutuhkan input sebagai objek iterable (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 difilter 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

Perpustakaan 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) Memanfaatkan np.array untuk mengubah 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 keluaran adalah sebagai berikut:

import numpy as npmy_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

The 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 modul lokasi seperti yang ditunjukkan di bawah ini

from more_itertools import locate

Sekarang Anda dapat menggunakan modul lokasi pada daftar seperti yang ditunjukkan di bawah ini pada contoh:

from more_itertools import locatemy_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: 'Elemen' tidak ada dalam daftar.
  • Selain metode daftar bawaan, Anda juga dapat menggunakan cara lain untuk mendapatkan indeks seperti perulangan melalui 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 cepat dan mudah adalah dengan menggunakan pemahaman daftar pada daftar.
  • Pemahaman daftar adalah fungsi Python yang digunakan untuk membuat urutan baru.
  • Mereka membantu mengurangi loop yang lebih lama dan membuat kode Anda lebih mudah dibaca dan dipelihara.
  • Anda dapat menggunakan enumerate untuk mendapatkan semua indeks elemen dalam sebuah daftar.
  • Fungsi Enumerate () adalah fungsi bawaan yang tersedia dengan python. Dibutuhkan input sebagai objek iterable (yaitu, objek yang dapat diulang), dan outputnya adalah objek dengan penghitung untuk setiap item.
  • Metode filter () memfilter daftar yang diberikan berdasarkan fungsi yang diberikan.
  • Library Numpy khusus digunakan untuk array. Anda dapat menggunakan NumPy untuk mendapatkan indeks elemen yang diberikan dalam daftar.
  • More_itertools.locate () adalah pustaka python lain yang membantu menemukan indeks dari daftar yang diberikan.