【发布时间】:2019-09-23 07:13:26
【问题描述】:
我正在尝试使用 random.randint() 生成一个字典
O = range(1, 6)
R = ['A', 'B', 'C', 'D', 'E']
d = dict(((o, r), random.randint(1, 5)) for o in O for r in R)
但是,我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <genexpr>
AttributeError: 'builtin_function_or_method' object has no attribute 'randint'
【问题讨论】:
-
如何导入
random? -
你确定吗?这个错误看起来很像你
from random import random -
不要使用通配符导入,它们可能会以难以追踪的方式混淆您的命名空间。
-
schwobase 提出了正确的问题。顺便说一句,一个无关紧要的说明:这不是一个 dict 理解——它是一个生成器表达式;)
-
@Boubakr 这就是为什么你不应该使用加星标的导入。
标签: python dictionary random