Python – 列表中两个元素之间最近的出现
当需要显示列表中两个元素之间最近的出现时,定义一个接受三个参数的方法。它使用“not in”运算符和列表推导式来确定结果。
下面是相同的演示 -
示例
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("The list is :") print(my_list) x = 14 print("The value of x is ") print(x) y = 26 print("The value of y is ") print(y) print("The result is :") print(nearest_occurence_list(my_list, x, y))
输出
The list is : [12, 24, 15, 17, 28, 26, 13, 28, 14, 12, 20, 19, 24, 29, 14] The value of x is 14 The value of y is 26 The result is : 8
解释
定义了一个名为“nearest_occurence_list”的方法,它接受三个参数。
如果第二个或第三个参数不存在于第一个参数中,则返回 -1。
列表推导式用于迭代元素,如果列表包含第一个参数,则获取列表的长度。
这被赋值给变量 one。
确定第二个参数的索引。
迭代变量 one 中的元素,并将元素与 y 的索引之间的差与特定值进行比较。
根据此,返回结果。
在方法外部,定义一个列表并在控制台中显示。
定义 x 和 y 的值并在控制台中显示。
通过传递所需参数来调用该方法。
这是在控制台中显示的输出。
广告