使用 Python 查找元素之间的最大距离
简介
列表数据结构处理不同数据类型(如整数、浮点数或字符串)的元素。元素需要用逗号分隔并在方括号内定义。Python 语言主要由不同的数据结构组成,其中列表数据结构是最常用的。列表可以保存不同数据类型的元素,并且一旦它们被赋值,就不能更改。在本文中,我们将找到元素之间的最大距离。
元素之间的最大距离
列表中的元素使用索引值识别,并根据此索引值计算最大距离。让我们以列表数据结构为例,
List1 = [1, 3, 5, 1, 5, 7, 8]
对于位于最大距离处的相同元素找到距离,在上述情况下,索引 0 处的元素为 1,相同元素位于索引值为 3 的位置。因此,元素之间的最大距离为 3。
方法
方法 1:使用 numpy 模块
方法 2:使用迭代方法
方法 1:使用 Numpy 模块在 Python 中查找元素之间的最大距离
列表用七个整数元素声明,距离值使用 numpy 计算。
算法
步骤 1:使用模块初始化输入列表,其中包含七个整数数据类型。
步骤 2:名为“maximum_distance”的变量赋值为零。
步骤 3:借助唯一函数,通过遍历列表的每个元素并将它们存储在变量中,找到列表中的唯一元素。
步骤 4:将名为“maximum_distance”的变量设置为零。
步骤 5:查找距离的方法需要元素的位置,根据该位置可以计算元素的最大距离。
步骤 6:通过取输入列表的 max 和 min 函数之间的差值来计算距离。
步骤 7:打印输出。
示例
#import the module import numpy as np #initializing the list with the same elements at different index values List1 = [1, 3, 5, 2, 1, 7, 8] #function is used to get the specific element of the list val = np.unique(List1) #Storing the element value as ‘0’ maximum_dis = 0 #for loop will iterate through the list for uni in val: #To get the distance, the where the function is used to get the index value location = np.where(np.array(List1) == uni)[0] #The distance returns the difference between the max and min index value dis = np.max(location) - np.min(location) #When the ‘dis’ is greater than the maximum distance, the value is returned. if dis > maximum_dis: maximum_dis = dis #Print functions return the final value print("Maximum distance obtained in the given list:", maximum_dis)
输出
Maximum distance obtained in the given list: 4
方法 2:使用迭代方法查找元素之间最大距离的 Python 程序
在这种情况下,使用列表数据结构初始化一组整数元素的输入,并为了找到元素之间的最大距离,初始化具有不同索引的相同值的元素,并计算最大距离。
算法
步骤 1:初始化列表。
步骤 2:名为“maximum_distance”的变量赋值为零。
步骤 3:使用嵌套 for 循环,for 循环将遍历给定列表以获取列表的长度。
步骤 4:接下来,第二个 for 循环将遍历每个元素以查找列表元素之间的最大距离。
步骤 5:abs() 函数将返回索引 (a,b) 的绝对值。
步骤 6:然后找到位于最大距离处的最终元素,并返回元素的距离。
示例
def element_max(gt): nonduplicate_elems = gt mt = 0 for x in nonduplicate_elems: nd = [m for m, r in enumerate(gt) if r == x] t = max(nd) - min(nd) if t > mt: mt = t return mt gt = [4, 9, 6, 2, 9, 1] mt = element_max(gt) print("The longest distance is:", mt)
输出
The longest distance is: 3
结论
Python 列表可以包含所有形式的元素,如正值和负值。已经解释了不同的方法来处理 abs() - 绝对函数、获取唯一值的唯一方法,以及最后获取元素索引位置的 where 函数。这些方法将帮助程序员在定义的值中找到元素之间的最大距离。