在 python 中,如何提取具有重复的随机序列中不同值的(最小)列表?
In python, how to extract the (minimal) list of different values in a random sequence with repetitions?
在python中,我有一个scipy数组(也可以只是一个列表),它是一个很长的随机数序列 的浮点数,但 可能的值 仅为 4。
我不知道这 4 个值是哪一个,我需要找到它们。
最有效/优雅的方法是什么?
我没有什么想法(对列表进行排序,取最小值,弹出所有等于该值的后续元素,取第一个不相等的元素,等等)。
你能想出更好的办法吗?
谢谢!
您可以使用内置的 set
函数:
>>> ar = scipy.array([0.4,0.3,0.4,0.9,0.2,0.3,0.9,0.4,0.4])
>>> set(ar)
set([0.90000000000000002, 0.29999999999999999, 0.20000000000000001, 0.40000000000000002])
在python中,我有一个scipy数组(也可以只是一个列表),它是一个很长的随机数序列 的浮点数,但 可能的值 仅为 4。 我不知道这 4 个值是哪一个,我需要找到它们。 最有效/优雅的方法是什么?
我没有什么想法(对列表进行排序,取最小值,弹出所有等于该值的后续元素,取第一个不相等的元素,等等)。 你能想出更好的办法吗?
谢谢!
您可以使用内置的 set
函数:
>>> ar = scipy.array([0.4,0.3,0.4,0.9,0.2,0.3,0.9,0.4,0.4])
>>> set(ar)
set([0.90000000000000002, 0.29999999999999999, 0.20000000000000001, 0.40000000000000002])