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。
需要在不使用内置方法的情况下创建它。
答案 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