如何使用dict理解初始化模拟硬币翻转的字典?

2024-05-20 00:54:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个掷硬币的模拟(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()

Tags: 代码infromimportfordefrange硬币
2条回答

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

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

我会使用collections.Counter和生成器表达式(而不是dict comprehension)

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

在同一条线上做任何事都是可能的,但在你的情况下会变得很难看。你知道吗

相关问题 更多 >