Что делает функция индекс в 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
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
Внимание! В проверяющей системе, если говорится о последовательности чисел, ее можно печатать или в строку, или в столбец.