基本上我有一个包含250个元素的列表,其中一些是1个2和3个。我如何得到一个代表'1'的变量?
答案 0 :(得分:4)
除了笑话,这将在Python 2.7(和3等)中起作用
使用count():
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))))
使用in(@nfn neil通过评论提供的解决方案):
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万项:
using_in的运行时需要18.3120000362秒才能完成
using_count的运行时间需要743.9941547110秒才能完成
基准代码:
答案 1 :(得分:4)
这本身就存在于Python
中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)
输出Counter({1: 5, 3: 5, 4: 4, 2: 3})