【问题标题】:Generator Expression with Random Module带有随机模块的生成器表达式
【发布时间】: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


【解决方案1】:

您最有可能导入 random 之类的:

from random import random

什么时候该做

import random

那么,random.randint 就是您要查找的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 2022-08-15
    • 2010-09-21
    • 2019-10-05
    • 2015-12-06
    • 1970-01-01
    • 2022-11-14
    相关资源
    最近更新 更多