📅  最后修改于: 2023-12-03 15:12:19.586000             🧑  作者: Mango
如果您需要找到Python数组中唯一值的位置,本文将为您提供两种方法。
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集合来解决问题。思路是将原始数组转换为集合,然后遍历集合中的每个唯一值,找到其在原始数组中的第一个出现位置。
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集合来解决问题。