2024-04-26 00:47:57 发布
网友
Python 2.7.5(不要评判我)
我所拥有的:
numbers = [1,3,5,1,3,5,7,0,2,2,9,1] frequencies = [0,0,0,0,0,0,0,0,0,0]
我需要一个for循环,它通过遍历数字的元素来计数,并通过索引相应地修改频率。频率应如下所示:
[1,3,2,2,0,2,0,1,0,1]
我试过使用len()函数…出于某种原因…我只是没有找到一种方法来正确地合并count。你知道吗
for n in numbers: frequencies[n] += 1
假设数字的每一个元素都在0和频率长度之间,包括-排除:
for i in range(len(frequencies)): frequencies[i] = numbers.count(i)
这个柜台很好用。你知道吗
from collections import Counter numbers = [1,3,5,1,3,5,7,0,2,2,9,1] freq = Counter(numbers) # Counter({1: 3, 2: 2, 3: 2, 5: 2, 0: 1, 7: 1, 9: 1}) # dictionary d = dict(freq) #{0: 1, 1: 3, 2: 2, 3: 2, 5: 2, 7: 1, 9: 1} # tuples t = freq.items() # [(0, 1), (1, 3), (2, 2), (3, 2), (5, 2), (7, 1), (9, 1)] # list L = [freq[n] for n in xrange(max(freq.keys()) + 1)] # [1, 3, 2, 2, 0, 2, 0, 1, 0, 1] # add more freq.update(numbers) # Counter({1: 6, 2: 4, 3: 4, 5: 4, 0: 2, 7: 2, 9: 2})
collections.Counter
假设数字的每一个元素都在0和频率长度之间,包括-排除:
这个柜台很好用。你知道吗
collections.Counter
相关问题 更多 >
编程相关推荐