将多个列表的输出组合到一个列表中(Python)

时间:2012-09-30 19:45:30

标签: python list python-2.7

我正在尝试创建一个输出随机哈希的简单循环。

    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个不同的列表这样做是不切实际的。如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

我建议让p()只返回一个元素,并使用列表推导来构建最终列表:

def p():
    return str(bcrypt.gensalt(PRG()))

list_of_salts = [p() for _ in range(1,6)]