【发布时间】:2012-09-30 19:45:29
【问题描述】:
我正在尝试制作一个输出随机哈希的简单循环。
import bcrypt
from Crypto.Random import random
def PRG():
return random.randint(1,100000)
def p():
return [str(bcrypt.gensalt(PRG()))]
for i in range(1,6):
print(list(p()))
这会返回:
['$2a$31$GyPdJsZDHSdfFlRqrtkuWO']
['$2a$31$r.d6EnQelVkLRkhgLT/dDe']
['$2a$31$TAFTlk09m1mZTrZjxqzxGu']
['$2a$31$dEC9aKcvz47tqtDH6Ge5XO']
['$2a$31$f3Qt6P9zXt7D2JCntGWCOu']
我想将这些列表合并为一个列表。我知道一旦我知道输出,我就可以将列表与另一行代码一起添加,但是用 100 个不同的列表来做这件事是不切实际的。如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
p中的循环没有意义,因为第一次迭代将return。此外,该函数包含语法错误(缺少冒号)。你的意思是def p(): return [str(bcrypt.gensalt(PRG())) for _ in xrange(5)]? -
我刚刚意识到 p() 中的循环是多余的,正如你所说,我在这里复制时忘记了 p() 上的冒号。但是谢谢,我删除了最后两行并修改了 p(),它可以按我的意愿工作。
标签: python list python-2.7