所以这是我的代码。结果是“['jjjjjjj','tt','dddd','eeeeeeeee']”。如何更改列表理解以允许函数random.choice重复每个'单词'的每个字母?
lista=[random.randint(1,10)*random.choice(string.ascii_letters) for i in range(random.randint(1,10))]
答案 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个'字'。