随机字生成器python

时间:2016-10-16 15:44:44

标签: python

所以这是我的代码。结果是“['jjjjjjj','tt','dddd','eeeeeeeee']”。如何更改列表理解以允许函数random.choice重复每个'单词'的每个字母?

lista=[random.randint(1,10)*random.choice(string.ascii_letters) for i in range(random.randint(1,10))]

2 个答案:

答案 0 :(得分:2)

我想你的意思是你想要“abcd”和“jdhn”而不是“aaaa”和“jjjj”来测试排序算法或其他类似的东西。

如果是这样,试试这个

lista=["".join(random.choice(string.ascii_letters) for j in range(random.randint(1,10)) ) for i in range(random.randint(1,10)) ]

答案 1 :(得分:0)

你需要一个嵌套列表comorehension。你需要为每个字母重新运行random.choice。

的内容
[ [Random.choice(string.asciiletters) for x in range(y)]  for you in range(5)]

每个长度y会给你5个'字'。