How to generate random letters in python?
在python中有没有生成随机字母的方法?我遇到了一个代码,在这里可以从a-z生成随机字母。
例如,下面的代码生成以下输出。
1 2 3 4 5 6 7 8 9 10 | import pandas as pd import numpy as np import string ran1 = np.random.random(5) print(random) [0.79842166 0.9632492 0.78434385 0.29819737 0.98211011] ran2 = string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' |
但是,我希望生成随机字母,其中输入为随机字母数(示例3),所需输出为[a,f,c]。事先谢谢。
将字符串转换为列表,然后使用
1 2 3 4 5 6 | import numpy as np import string np.random.seed(123) list(np.random.choice(list(string.ascii_lowercase), 10)) #['n', 'c', 'c', 'g', 'r', 't', 'k', 'z', 'w', 'b'] |
号
如您所见,默认行为是使用替换进行采样。如果需要,可以通过添加参数
下面是一个修改自https://pythontips.com/2013/07/28/generating-a-random-string的想法/
1 2 3 4 5 | import string import random def random_generator(size=6, chars=string.ascii_lowercase): return ''.join(random.choice(chars) for x in range(size)) |