Python 4.7: How to count the frequency of specific value in array
本问题已经有最佳答案,请猛点这里访问。
基本上我有一个包含250个元素的列表,其中一些是1,一些是2,一些是3。如何获取表示"1"数的变量?
这在python中本地存在
1 2 3 4 | from collections import Counter A = [1,1,1,1,1,2,2,2,3,3,3,3,3,4,4,4,4] B = Counter(A) |
输出
我想在Python4.7中仍然是这样。
不开玩笑,这在Python2.7(和3等)中有效。
使用计数():
1 2 3 4 5 6 7 | your_list = [1,1,2,3,4,5,6,7,8] distinct_values = set(your_list) if len(distinct_values) == len(your_list) print('All values have a tf count of 1') else: for distinct_value in distinct_values: print('%s n occurences: %s' % (distinct_value, str(your_list.count(distinct_value)))) |
在中使用(由@nfn neil通过注释提供的解决方案):
1 2 3 4 5 6 7 8 | your_list = [1,1,2,3,4,5,6,7,8] di = {} for item in your_list: if item in di: di[item] += 1 else: di[item] = 1 print(di) |
运行两个变体300次的基准测试,列出50万个项目:
使用ou-in的运行时间为18.31200000362秒。
使用计数的运行时间花费了743.9941547110秒完成
基准代码:
网址:https://pastebin.com/dws8uh7c