2012-12-15 66 views
0

我想從隨機數字和字母中生成一個列表。我設法讓這樣的:從隨機ASCII字母和數字製作列表

def rand_num(): 

    while True: 
     random_char= random.choice(string.ascii_letters+string.digits) 

     random_lst= [random_char] 

但是當我要打印此列表print random_lst我得到的輸出是這樣的:的

['W'] 
['i'] 
['P'] 
['6'] 
['P'] 
['B'] 
['d'] 
['f'] 
['n'] 
['j'] 

代替:

['W','i','P' ....等

我該怎麼辦?在這種情況下,選擇了錯誤的功能?

回答

4

你應該有這個代替:

random_lst.append(random_char) 
+0

我傻:[我確實嘗試過,但是我忘了在這段時間之外放置一個空列表:D。 – user1509923

+0

@ user1509923糟糕!另一個答案也很酷,因爲它使用列表理解。一探究竟。 – squiguy

5

嘗試此長度爲10的列表:

random_list = [random.choice(string.ascii_letters+string.digits) for n in xrange(10)] 

或者,這對於長度爲10的字符串:

random_string = ''.join(random.choice(string.ascii_letters+string.digits) for n in xrange(10))