从 python 中的字符串列表创建给定长度的随机列表

A R*_* R. 7 python arrays random list

我有一个字符串列表:

lst = ["orange", "yellow", "green"]    
Run Code Online (Sandbox Code Playgroud)

我想随机重复给定长度的字符串值。

这是我的代码:

import itertools
lst = ["orange", "yellow", "green"]
list(itertools.chain.from_iterable(itertools.repeat(x, 2) for x in lst))
Run Code Online (Sandbox Code Playgroud)

此实现重复但不是随机的,并且它同样重复,而对于给定的长度它也应该是随机的。

chq*_*lie 5

您可以使用列表理解:

import random
lst = ["orange", "yellow", "green"]
[lst[random.randrange(len(lst))] for i in range(100)]
Run Code Online (Sandbox Code Playgroud)

解释:

  • random.randrange(n)0返回要包含的范围内的整数n-1
  • 列表推导式重复添加随机元素lst100 次。
  • 更改100为您希望获得的任意数量的元素。