如何计算一个值在数组中显示的次数,显示的不同值有哪些



我使用的是最新版本的python和pycharm专业版。我正试图弄清楚如何获取[15,15,15,4,4,4,4,4,4]这样的数组并输出[3,15,6,4]其中一个数字表示一个值在数组中出现的次数,另一个数字则表示该值的值。在我提供的示例中,有15个出现3次,4个出现6次,因此输出为[3,15,6,4]。我已经有了一个计算数组中唯一元素数量的方法(在本例中为2(,但我不确定如何存储值和它出现的次数。如有任何帮助,我们将不胜感激。

只需,您就可以将数组列表转换为set,然后使用count方法。

lst=[15, 15, 15, 4, 4, 4, 4, 4, 4]
out=[[lst.count(i),i] for i in set(lst)]
print(out)

输出

[[6, 4], [3, 15]]

对于字典来说,这是一个很好的例子。键将是你的数字,值将是计数。浏览您的列表。如果你能数出列表中有多少不同的数字,你就必须有这个代码。

测试字典中是否存在该数字。如果是,则递增计数。如果没有,则为添加的新密钥存储1。

我不确定内置方法,但这样做的算法看起来像

counts = {}
for i in range(len(my_array)):
if my_array[i] in counts.keys():
counts[my_array[i]] = 1
else:
counts[my_array[i]] += 1

如果您想使用numpy:

import numpy as np
l = [15, 15, 15, 4, 4, 4, 4, 4, 4]
np.vstack(np.unique(l, return_counts= True)[::-1]).ravel(order='F') 

输出:

array([ 6,  4,  3, 15])

这里,顺序是按l的上升值

相关内容

  • 没有找到相关文章

最新更新