Найти индекс значения / символа без использования каких-либо методов списка - PullRequest
0 голосов
/ 15 мая 2018
def find(my_list, value):
    find = -1
    for i in range(length(my_list)):
        if my_list[i] == value:
            find += 1     
    return find

def length(my_list):
    list_length = 0
    for char in my_list:
        list_length += 1
    return list_length

str_list1 = ['r', 'i', 'n', 'g', 'i', 'n', 'g']

print("\nfind Test")

print(list_function.find(str_list1, 'g'))

print(list_function.find(str_list1, 'z'))

Выходные значения 0 и -1, в то время как мы ищем 3 и -1.

Нужно создать его без использования встроенных методов.

1 Ответ

0 голосов
/ 15 мая 2018

Использование enumerate:

def find(my_list, value):
    for index, element in enumerate(my_list):
        if element == value:
            return index
    return -1

print(find(['r', 'i', 'n', 'g', 'i', 'n', 'g'], 'g'))
# 3

print(find(['r', 'i', 'n', 'g', 'i', 'n', 'g'], 'z'))
# -1

Если вам не нужны встроенные модули, это один из способов:

def find(my_list, value):
    index = 0
    for element in my_list:
        if element == value:
            return index
        index += 1
    return -1

print(find(['r', 'i', 'n', 'g', 'i', 'n', 'g'], 'g'))
# 3

print(find(['r', 'i', 'n', 'g', 'i', 'n', 'g'], 'z'))
# -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...