我需要使随机字符串序列,增加(减少)的字母顺序。例如:"ajikfk45kJDk","bFJIPH7CDd","c“。
发布于 2018-07-27 06:37:54
要做的最简单的事情是创建N个随机字符串,然后对它们进行排序。
那么,如何创建一个随机字符串呢?嗯,您还没有指定您的规则是什么,但是您的三个示例是从ASCII小写、大写和数字集中提取的1到12个字符的字符串,所以让我们这样做。
length = random.randrange(1, 13)
letters = random.choices(string.ascii_letters + string.digits, k=length)
string = ''.join(letters)
所以,只要这样做N次,然后排序。
把它们放在一起:
chars = string.ascii_letters + string.digits
def make_string():
return ''.join(random.choices(chars, k=random.randrange(1, 13)))
def make_n_strings(n):
return sorted(make_string() for _ in range(n))
这应该足够简单,您可以随心所欲地对其进行自定义。想要不区分大小写的排序吗?只需在sorted
中添加key=str.upper
即可。想要一些其他的长度分布吗?只需更换randrange
即可。诸若此类。
发布于 2018-07-27 06:21:32
我能想到的最简单的方法是
from random import randint
a = ''.join(sorted([chr(randint(33,127)) for i in range(randint(1,20))], reverse = False))
print(a)
reverse = True
使其下降
https://stackoverflow.com/questions/51548176
复制相似问题