使用 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 函数。这些方法将帮助程序员在定义的值中找到元素之间的最大距离。

更新于: 2023-08-07

505 次查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告