从随机的ascii字母和数字制作一个列表

时间:2012-12-15 20:30:38

标签: python string list random choice

我想从随机数字和字母生成一个列表。我成功了:

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' ....等等

我该怎么办?在这种情况下,.choice是错误的功能吗?

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:4)

你应该改为:

random_lst.append(random_char)