Python - 列表中两个元素之间最近的出现
当需要显示列表中两个元素之间最接近的出现时,定义了一个接受三个参数的方法。它使用“notin”运算符和列表推导来确定结果。
以下是相同的演示-
示例
def nearest_occurence_list(my_list, x, y):
if x not in my_list or y not in my_list:
return -1
x_index = [index for index in range(len(my_list)) if my_list[index] == x]
y_index = my_list.index(y)
min_dist = 1000000
result = None
for element in x_index:
if abs(element - y_index) < min_dist:
result = element
min_dist = abs(element - y_index)
return result
my_list = [12, 24, 15, 17, 28, 26, 13, 28, 14, 12, 20, 19, 24, 29, 14]
print("名单是:")
print(my_list)
x = 14
print("x的值是 ")
print(x)
y = 26
print("y的值是 ")
print(y)
print("结果是:")
print(nearest_occurence_list(my_list, x, y))输出结果名单是: [12, 24, 15, 17, 28, 26, 13, 28, 14, 12, 20, 19, 24, 29, 14] x的值是 14 y的值是 26 结果是: 8
解释
定义了一个名为“nearest_occurence_list”的方法,它接受三个参数。
如果第一个参数中不存在第二个或第三个参数,则返回-1。
如果列表包含第一个参数,则使用列表理解来迭代元素并获取列表的长度。
这被分配给变量一。
确定第二参数的索引。
迭代变量one中的元素,并将元素和y的索引之间的差异与特定值进行比较。
根据这一点,返回结果。
在该方法之外,定义了一个列表并显示在控制台上。
x和y的值被定义并显示在控制台上。
通过传递所需的参数来调用该方法。
这是显示在控制台上的输出。