如何使用字典理解来初始化模拟抛硬币的字典?

How to use dict comprehension to initialize a dictionary that simulates coin flips?

我正在做一个抛硬币模拟(1 是正面,0 是反面)我想知道我是否可以使用字典理解在一行中完成这段代码:

    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()

我会使用 collections.Counter 和生成器表达式(而不是字典理解)

from collections import Counter
Counter(str(randint(0, 1)) for _ in range(trials))

可以在一条线上做所有事情,但在你的情况下它会变得很丑陋。

这给了你一个元素。您需要减去另一个元素:

sum([randint for x in range(0, 100)])