有没有会python的学霸啊?怎么随机从1-6中选1000个数,然后统计次数啊

如题所述

第1个回答  2014-11-14
import random
l = [random.choice([1,2,3,4,5,6]) for _ in range(1000)]
d = [(i, l.count(i)) for i in set(l)]
print d

追问

追答

for _ in 中间有空格

追问

还是错的

追答

你直接复制,chioce-》choice,除非你知道你在做什么, 不要把“[”改成"(", 使用“[”说明生成的是列表,用“("返回的是生成器。

In [1]: import random

In [2]: l = [random.choice([1,2,3,4,5,6]) for _ in range(1000)]

In [3]: d = [(i, l.count(i)) for i in set(l)]

In [4]: print d
[(1, 168), (2, 181), (3, 170), (4, 144), (5, 172), (6, 165)]

In [5]: print dict(d)
{1: 168, 2: 181, 3: 170, 4: 144, 5: 172, 6: 165}

In [6]:

第2个回答  推荐于2016-03-30
>>> import random
>>> import collections
>>> 
>>> lst = range(1,7)
>>> serial = [random.choice(lst) for x in xrange(1000)]
>>> counter = collections.Counter(serial)
>>> counter.most_common() 
[(4, 190), (5, 178), (3, 169), (6, 169), (1, 149), (2, 145)]
>>>

追问

错了

不能输出

追答import random
import collections

counter = collections.Counter([random.randint(1,6)
                               for x in xrange(1000)])
print counter.most_common()

本回答被提问者和网友采纳