如果列表包含浮点数,如何在列表中选择相同的值

问题描述 投票:1回答:1

在下面的代码中,我想检查列表中有多少个唯一值,这可以在for循环中完成。在知道了唯一值的数量后,我想看一个唯一值出现在a中的次数,然后我想计算它们的数量。有人可以指导我如何做到这一点。列表包含浮点。如果我在numpy数组中转换它然后找到相同的值该怎么办?

`a= [1.0, 1.0, 1.0, 1.0, 1.5, 1.5, 1.5, 3.0, 3.0]
list = []
for i in a:
    if i not in list:
        list.append(i)

print(list)
for j in range(len(list))
    g= np.argwhere(a==list[j])
    print(g)`
python list numpy dictionary
1个回答
1
投票

您可以使用np.unique来完成它

np.unique(np.array(a),return_counts=True)

您也可以使用集合中的计数器来完成

from collections import Counter
Var=dict(Counter(a))
print(Var)

原始的方法是使用循环

[[x,a.count(x)] for x in set(a)]

如果您不熟悉列表推导,那就是它的解释

ls=[]
for x in set(a):
    ls.append([x,a.count(x)])
print(ls)

如果你想使用if else,

counter = dict()
for k in a:
    if not k in counter:
        counter[k] = 1
    else:
        counter[k] += 1
print(counter)
© www.soinside.com 2019 - 2024. All rights reserved.