2024-05-20 00:54:56 发布
网友
我正在做一个掷硬币的模拟(1是正面,0是反面),我想知道我是否能用dict理解在一行中完成这个代码:
from random import randint def flip(trials = 1000): adict = {'0' : 0, '1' : 0} for i in range(trials): k = randint(0,1) adict[str(k)] += 1 print adict flip()
这给了你一个元素。您需要减去才能得到另一个元素:
sum([randint for x in range(0, 100)])
我会使用collections.Counter和生成器表达式(而不是dict comprehension)
collections.Counter
from collections import Counter Counter(str(randint(0, 1)) for _ in range(trials))
在同一条线上做任何事都是可能的,但在你的情况下会变得很难看。你知道吗
这给了你一个元素。您需要减去才能得到另一个元素:
我会使用
collections.Counter
和生成器表达式(而不是dict comprehension)在同一条线上做任何事都是可能的,但在你的情况下会变得很难看。你知道吗
相关问题 更多 >
编程相关推荐