在不使用任何列表方法的情况下查找值/ char的索引

时间:2018-05-15 04:15:27

标签: python list indexing

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 :(得分:4)

使用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