Как найти индекс по значению python
Перейти к содержимому

Как найти индекс по значению python

  • автор:

Что делает функция индекс в 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 

Как найти индекс значения, если это значение входит в список?

в дополнение к предыдущим еще один вариант, хотя неказистый, но, вроде, тоже рабочий:

pd.Series(index=df.name).index.get_loc('tot, piter, carl') 

Отслеживать
ответ дан 14 сен 2021 в 14:24
5,635 1 1 золотой знак 7 7 серебряных знаков 17 17 бронзовых знаков

  • python
  • pandas
  • dataframe
  • анализ-данных
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Найти индекс элемента в списке Python

В этом посте мы обсудим, как найти индекс элемента в списке Python.

С использованием index() функция

Предпочтительный идиоматический способ найти индекс элемента в списке — использовать index() функция:

if __name__ == ‘__main__’ :
ints = [ 1 , 2 , 3 , 4 , 5 ]
index = ints . index ( item )
print ( f «Element is found at index » )

The index() Функция возвращает индекс первого вхождения заданного элемента в список. Однако он повышает ValueError если элемент не найден в списке. Вы можете справиться с этим следующими способами:

⮚ In оператор

Идея состоит в том, чтобы проверить наличие элемента в списке с помощью оператора in перед вызовом функции. index() функция:

Работа с последовательностями как с массивами

Сохраним последовательность целых чисел в памяти, чтобы мы могли перебрать ее много раз. Будем называть такую последовательность массивом. В питоне нет типа «массив». Но есть тип list (список, значения — любые типы) и str — строка (значения только символы).

a = list(map(int, input().split())) 

или зададим ее не с клавиатуры, а определим прямо в программе:

a = [3, 7, -2, 10] print(a) # [3, 7, -2, 10] 

Если последовательность чисел хранится в памяти, мы можем обратиться к любому ее элементу в любом порядке по индексу (номеру элемента в последовательности.

 +---+---+---+---+---+---+ x | P | y | t | h | o | n | значение (число), value +---+---+---+---+---+---+ i 0 1 2 3 4 5 6=len номер (index) -6 -5 -4 -3 -2 -1 

Переберем последовательсть (строку), печатая значения (буквы) и их номера в строке. Используем для этого enumerate

len — вычислить длину последовательности (функция языка питон).

a = 'python' for i, x in enumerate(a): print(i, x) print('length =', len(a)) # Output: # 0 p # 1 y # 2 t # 3 h # 4 o # 5 n # length = 6 

a[i] — доступ к любому элементу массива

массив[номер] — обращение к элементу массива. Так можно читать, так можно писать в массив.

a = [3, 5, -2, 10] print(a) # [3, 5, -2, 10] x = a[1] # x = 5 a[0] = 77 print(a) # [77, 5, -2, 10] a[1] = a[2] + a[0] # a[1] = -2 + 77 print(a) # [77, 75, -2, 10] a[-1] = 8 print(a) # [77, 75, -2, 8] 

Перебираем

Зададим список a = [3, 5, -2, 10] и переберем его всеми известными способами.

enumerate — номер, значение

for i, x in enumerate(a): print(i, x) # Output: # 0 3 # 1 5 # 2 -2 # 3 10 

for..in — только значение

Номер не печатаем.

for x in a: print(x) # Output: # 3 # 5 # -2 # 10 

range(len(a)) — только номера

По номеру i можно найти значение a[i] .

for i in range(len(a)): print(i, a[i]) # Output: # 0 3 # 1 5 # 2 -2 # 3 10 

Срез (slice) — часть списка

Можно обратиться к части массива от номера i (включая) до номера j (не включая). Математики запишут это как [i, j) Программисты запишут срез (slice) a[i:j] и сделают новый список.

>>> a = [3, 5, -2, 10, 8, 1, 17] >>> a[3] 10 >>> a[1:4] [5, -2, 10] >>> a[-5:-2] [-2, 10, 8] 

У срезов есть (как у range) третий аргумент — шаг.

a[i:j:k] — взять срез списка a от i (включая) до j (НЕ включая) с шагом (прибавить) k.

>>> a = [3, 5, -2, 10, 8, 1, 17] >>> a[1:6:2] [5, 10, 1] >>> a[-2:-5:-1] [1, 8, 10] 

Можно не писать номер начала или номер конца среза. Тогда это будет «начало» и «конец» списка.

>>> a = [3, 5, -2, 10, 8, 1, 17] >>> a[:4] [3, 5, -2, 10] >>> a[3:] [10, 8, 1, 17] >>> a[:4:2] [3, -2] >>> a[3::2] [10, 1] >>> a[::2] [3, -2, 8, 17] >>> a[::-1] [17, 1, 8, 10, -2, 5, 3] 

Как напечатать список

Дан список a = [3, 5, -2, 10] . Надо его напечатать.

Как пишут в программе:

print(a) # [3, 5, -2, 10] 
for x in a: print(x) # Output: # 3 # 5 # -2 # 10 

В строку, используем аргумент end функции print:

for x in a: print(x, end=' ') # печатаем через пробел print() # в конце 1 раз - новая строка 

В строку, используя оператор * (развернуть список в его элементы):

a = [3, 5, -1, 10] print(a) # [3, 5, -1, 10] print(*a) # 3 5 -2 10 

Внимание! В проверяющей системе, если говорится о последовательности чисел, ее можно печатать или в строку, или в столбец.

results matching » «

No results matching » «

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *