import random
a = random.randint(0,7)
b = random.randint(0,7)
c = random.randint(0,7)
d = random.randint(0,7)
...
我如何更有效地声明这些变量,因为我希望它们是随机的?
答案 0 :(得分:3)
x, y, z = (random.randint(0, 7) for x in range(3))
这将生成一个包含3个随机整数的元组,并将它们分配给x,y和z。
答案 1 :(得分:1)
如果你只想保存一些打字,你可以使用发电机
In [2]: (a,b,c,d) = (random.randint(0,7) for x in range(4))
In [3]: a
Out[3]: 1
In [4]: b
Out[4]: 7
现在,如果您还想动态创建变量,可以使用__dict__
:
In [21]: import __main__
In [22]: for v in range (ord('a'), ord('z')):
...: __main__.__dict__[chr(v)] = random.randint (0,7)
In [25]: x
Out[25]: 5
In [26]: y
Out[26]: 3
In [27]: q
Out[27]: 2
如果是这种情况,我宁愿使用实际的dict来存储值,用字母作为键,而不是为它们创建变量。
当然,如果您正在使用课程,请使用self.__dict__
代替__main__
。