📜  返回python数组中唯一值的位置 - Python(1)

📅  最后修改于: 2023-12-03 15:12:19.586000             🧑  作者: Mango

返回Python数组中唯一值的位置 - Python

如果您需要找到Python数组中唯一值的位置,本文将为您提供两种方法。

方法一:使用numpy

numpy是一个高性能的Python科学计算库,其中包含了大量的数组操作函数。使用numpy的unique函数可以快速找到数组中的唯一值。

import numpy as np
arr = np.array([1, 2, 3, 2, 4, 3])
unique_vals, indices_list = np.unique(arr, return_index=True)
print(indices_list)

此代码段中,unique_vals是数组arr中所有唯一值的列表,indices_list是每个唯一值在arr中第一次出现的索引列表,因此代码的输出将会是:

[0, 1, 2, 4]

其中,第一个唯一值 1 在 arr 中的索引为 0,第二个唯一值 2 在 arr 中的索引为 1,第三个唯一值 3 在 arr 中的索引为 2,第四个唯一值 4 在 arr 中的索引为 4。

方法二:使用Python集合

如果您不想使用额外的库,则可以使用Python集合来解决问题。思路是将原始数组转换为集合,然后遍历集合中的每个唯一值,找到其在原始数组中的第一个出现位置。

arr = [1, 2, 3, 2, 4, 3]
unique_vals = set(arr)
indices_list = [arr.index(val) for val in unique_vals]
print(indices_list)

在这个代码段中,unique_vals 是数组 arr 中所有唯一值的集合,indices_list 是每个唯一值在 arr 中第一次出现的索引列表,因此代码的输出将会是:

[0, 1, 2, 4]

正如我们前面所讲的,这些索引对应的元素是数组 arr 中的唯一值。

结论

无论您使用的是numpy还是Python集合,都可以找到Python数组中唯一值的位置。如果您需要处理大量的数组数据,使用numpy会更具效率,而如果您只需要少量的数据,则可以使用Python集合来解决问题。