Получить индекс элемента списка
С помощью этого действия вы можете восстановить индексную позицию элемента в заданном списке. Вы предоставляете переменную, которая хранит индекс списка (возвращенный действием Создать список) и значение, которое вы хотите найти позицию индекса в списке, а также целевую переменную для хранения возвращенной индексной позиции элемента (которая может быть помечена как временная локальная переменная, которая будет использоваться до конца сценария или события). Обратите внимание, что если искомое значение не существует в списке, то не будет возвращена позиция индекса списка, и поэтому возвращаемое значение будет равно -1.
Синтаксис действия:

Аргументы:
| Аргумент | Описание |
|---|---|
| List | Индекс (хранится в переменной) списка, из которого нужно удалить список |
| Value | Значение, на которое проверяется список |
| Target | Целевая переменная для хранения возвращенного индекса |
Пример:
Приведенный выше код блока действий проверяет наличие коллизии в позиции экземпляра и если таковая найдена, то уникальное значение ID экземпляра сохраняется во временной переменной, а затем проверяется, существует ли оно в структуре данных списка. Если оно существует, то элемент удаляется из списка, а экземпляр уничтожается.
Что делает функция индекс в Python?
Метод index() в Python помогает найти значение индекса элемента в последовательности. Он выдает наименьший возможный индекс указанного элемента. Если указанный элемент не существует, то возвращается ValueError.
sequence.index(x[, start[, end]])
- sequence — это объект, элементы которого представляют собой некую индексированную последовательность (строка, список, кортеж). Каждый элемент последовательности имеет индекс — целое число, обозначающее его позицию в последовательности. Нумерация индексов начинается с 0 (нуля).
- x — искомый элемент последовательности, чей наименьший индекс будет возвращен.
- Необязательные аргументы start и end используются для ограничения поиска конкретной подпоследовательностью списка, путем задания среза. Возвращаемый индекс вычисляется относительно изначальной последовательности, а не среза, заданного start и end.
str_seq = 'aebcdef' #Последовательность в виде строки print(str_seq.index('e')) # => 1 print(str_seq.index('e', 2)) # => 5 print(str_seq.index('k')) # => ValueError: substring not found lst_seq = ['a', 'e', 'b', 'c', 'd', 'e', 'f'] #Последовательность в виде списка print(lst_seq.index('b')) # => 2 print(lst_seq.index('k')) # => ValueError: 'k' is not in list tup_seq = ('a', 'e', 'b', 'c', 'd', 'e', 'f') #Последовательность в виде кортежа print(tup_seq.index('a')) # => 0
List Как запомнить индекс элемента в списке?

Суть задачи, есть программа которая удаляет нечетные числа в списке, нужно после удаления вывести список , в котором элементы сохранят изначальный индекс
Например:
До удаления
Слева — элемент, справа — индекс.
1 — 0
2 — 1
3 — 2
4 — 3
5 — 4
6 — 5
После удаления
2 — 1
4 — 3
6 — 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
using System; using System.Collections.Generic; namespace ConsoleApp6 { class Program { static void Main(string[] args) { Listint> s = new Listint>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Listint> evenIndices = new Listint>(); for (int i = 0; i s.Count; i++) { if (s[i] % 2 == 0) evenIndices.Add(i); } for (int i = s.Count - 1; i >= 0; i--) { if (s[i] % 2 != 0) { s.RemoveAt(i); } } for (int i = 0; i evenIndices.Count; i++) { Console.WriteLine($" - Номер:"); } } } }
List.Index Of Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает отсчитываемый от нуля индекс первого вхождения значения в списке List или в его части.
Перегрузки
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List , начиная с заданного индекса и до последнего элемента.
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List , начинающемся с заданного индекса и содержащем указанное число элементов.
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List .
Примеры
В следующем примере показаны все три перегрузки IndexOf метода. List Создается строка с одной записью, которая отображается дважды в расположении индекса 0 и в расположении индекса 5. Перегрузка IndexOf(T) метода выполняет поиск списка с самого начала и находит первое вхождение строки. Перегрузка IndexOf(T, Int32) метода используется для поиска списка, начиная с расположения индекса 3, и продолжается до конца списка и находит второе вхождение строки. Наконец, перегрузка IndexOf(T, Int32, Int32) метода используется для поиска по диапазону двух записей, начиная с расположения индекса два; возвращается значение -1, так как в этом диапазоне нет экземпляров строки поиска.
using namespace System; using namespace System::Collections::Generic; void main() < List^ dinosaurs = gcnew List(); dinosaurs->Add("Tyrannosaurus"); dinosaurs->Add("Amargasaurus"); dinosaurs->Add("Mamenchisaurus"); dinosaurs->Add("Brachiosaurus"); dinosaurs->Add("Deinonychus"); dinosaurs->Add("Tyrannosaurus"); dinosaurs->Add("Compsognathus"); Console::WriteLine(); for each(String^ dinosaur in dinosaurs ) < Console::WriteLine(dinosaur); >Console::WriteLine("\nIndexOf(\"Tyrannosaurus\"): ", dinosaurs->IndexOf("Tyrannosaurus")); Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): ", dinosaurs->IndexOf("Tyrannosaurus", 3)); Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): ", dinosaurs->IndexOf("Tyrannosaurus", 2, 2)); > /* This code example produces the following output: Tyrannosaurus Amargasaurus Mamenchisaurus Brachiosaurus Deinonychus Tyrannosaurus Compsognathus IndexOf("Tyrannosaurus"): 0 IndexOf("Tyrannosaurus", 3): 5 IndexOf("Tyrannosaurus", 2, 2): -1 */
using System; using System.Collections.Generic; public class Example < public static void Main() < Listdinosaurs = new List(); dinosaurs.Add("Tyrannosaurus"); dinosaurs.Add("Amargasaurus"); dinosaurs.Add("Mamenchisaurus"); dinosaurs.Add("Brachiosaurus"); dinosaurs.Add("Deinonychus"); dinosaurs.Add("Tyrannosaurus"); dinosaurs.Add("Compsognathus"); Console.WriteLine(); foreach(string dinosaur in dinosaurs) < Console.WriteLine(dinosaur); >Console.WriteLine("\nIndexOf(\"Tyrannosaurus\"): ", dinosaurs.IndexOf("Tyrannosaurus")); Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): ", dinosaurs.IndexOf("Tyrannosaurus", 3)); Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): ", dinosaurs.IndexOf("Tyrannosaurus", 2, 2)); > > /* This code example produces the following output: Tyrannosaurus Amargasaurus Mamenchisaurus Brachiosaurus Deinonychus Tyrannosaurus Compsognathus IndexOf("Tyrannosaurus"): 0 IndexOf("Tyrannosaurus", 3): 5 IndexOf("Tyrannosaurus", 2, 2): -1 */
Imports System.Collections.Generic Public Class Example Public Shared Sub Main() Dim dinosaurs As New List(Of String) dinosaurs.Add("Tyrannosaurus") dinosaurs.Add("Amargasaurus") dinosaurs.Add("Mamenchisaurus") dinosaurs.Add("Brachiosaurus") dinosaurs.Add("Deinonychus") dinosaurs.Add("Tyrannosaurus") dinosaurs.Add("Compsognathus") Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "IndexOf(""Tyrannosaurus""): ", _ dinosaurs.IndexOf("Tyrannosaurus")) Console.WriteLine(vbLf & _ "IndexOf(""Tyrannosaurus"", 3): ", _ dinosaurs.IndexOf("Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "IndexOf(""Tyrannosaurus"", 2, 2): ", _ dinosaurs.IndexOf("Tyrannosaurus", 2, 2)) End Sub End Class ' This code example produces the following output: ' 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Brachiosaurus 'Deinonychus 'Tyrannosaurus 'Compsognathus ' 'IndexOf("Tyrannosaurus"): 0 ' 'IndexOf("Tyrannosaurus", 3): 5 ' 'IndexOf("Tyrannosaurus", 2, 2): -1
IndexOf(T, Int32)
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List , начиная с заданного индекса и до последнего элемента.
public: int IndexOf(T item, int index);
public int IndexOf (T item, int index);
member this.IndexOf : 'T * int -> int
Public Function IndexOf (item As T, index As Integer) As Integer
Параметры
Индекс (с нуля) начальной позиции поиска. Значение 0 (ноль) действительно в пустом списке.
Возвращаемое значение
Отсчитываемый от нуля индекс первого вхождения элемента item в диапазоне элементов списка List , начиная с позиции index и до конца списка, если элемент найден; в противном случае значение –1.
Исключения
index находится вне диапазона допустимых индексов для List .
Комментарии
Этот метод определяет равенство с помощью средства EqualityComparer.Default сравнения равенства по умолчанию для T типа значений в списке.
Этот метод выполняет линейный поиск; таким образом, этот метод является операцией O(n), где n является числом элементов от index конца List .
См. также раздел
- LastIndexOf(T)
- Contains(T)
- Выполнение в коллекциях строковых операций, не зависящих от языка и региональных параметров
Применяется к
IndexOf(T, Int32, Int32)
Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List , начинающемся с заданного индекса и содержащем указанное число элементов.
public: int IndexOf(T item, int index, int count);
public int IndexOf (T item, int index, int count);
member this.IndexOf : 'T * int * int -> int
Public Function IndexOf (item As T, index As Integer, count As Integer) As Integer
Параметры
Индекс (с нуля) начальной позиции поиска. Значение 0 (ноль) действительно в пустом списке.
Число элементов в диапазоне, в котором выполняется поиск.
Возвращаемое значение
Исключения
index находится вне диапазона допустимых индексов для List .
-или- Значение параметра count меньше 0.
-или- index и count не указывают допустимый раздел в List .
Комментарии
Этот метод определяет равенство с помощью средства EqualityComparer.Default сравнения равенства по умолчанию для T типа значений в списке.
Этот метод выполняет линейный поиск; таким образом, этот метод является операцией O(n), где n — count .
См. также раздел
- LastIndexOf(T)
- Contains(T)
- Выполнение в коллекциях строковых операций, не зависящих от языка и региональных параметров
Применяется к
IndexOf(T)
Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List .
public: virtual int IndexOf(T item);
public int IndexOf (T item);
abstract member IndexOf : 'T -> int override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer
Параметры
Возвращаемое значение
Индекс (с нуля) первого вхождения параметра item , если оно найдено в коллекции List ; в противном случае -1.
Реализации
Комментарии
Этот метод определяет равенство с помощью средства EqualityComparer.Default сравнения равенства по умолчанию для T типа значений в списке.
Этот метод выполняет линейный поиск; таким образом, этот метод является операцией O(n), где n — Count.
См. также раздел
- LastIndexOf(T)
- Contains(T)
- Выполнение в коллекциях строковых операций, не зависящих от языка и региональных параметров