2012-09-30 4 views
0

나는 임의의 해시를 출력하는 간단한 루프를 만들려고합니다.여러 목록의 출력을 하나의 목록으로 결합 (Python)

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 개의 다른 목록을 사용하여이를 수행하는 것은 비실용적입니다. 누군가 나를 기쁘게 할 수 있다면 정말 고맙겠습니다.

+0

p'가 첫 번째 반복 것'return'으로 이해가되지 않습니다'의 루프 . 또한이 함수에는 구문 오류 (콜론 누락)가 있습니다. 'def p() : xrange (5) '에 대해 [str (bcrypt.gensalt (PRG()))를 반환하겠습니까? –

+0

방금 ​​내가 p() 루프가 중복되었다는 것을 알았습니다. 여기에 복사 할 때 p()에 콜론을 잊어 버렸습니다. 하지만 고맙다. 마지막 두 줄을 지우고 p()를 수정했다. 원하는대로 작동한다. –

답변

0

나는 p() 반환 단지 하나의 요소를 만들고, 최종 목록을 작성하는 지능형리스트를 사용하는 것이 좋습니다 :

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

list_of_salts = [p() for _ in range(1,6)] 
관련 문제