如何使用字典理解来初始化模拟抛硬币的字典?
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)])
我正在做一个抛硬币模拟(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)])