如何将randomRotationVoidList列表随机填充90、180、270、360四个数值?
解决随机填充固定数值列表的问题
嘿,这事儿好办!你需要的是从固定的四个数值里随机重复选取元素来填充列表,而不是生成连续范围内的随机数对吧?我给你拿两种常用语言举例子,你可以直接套用:
Python 实现
首先导入random模块,然后用列表推导式配合random.choice()来生成你要的列表:
import random # 先定义好你要用到的固定数值集合 rotation_candidates = [90, 180, 270, 360] # 假设你需要生成一个长度为10的列表,把10换成你实际需要的长度就行 randomRotationVoidList = [random.choice(rotation_candidates) for _ in range(10)] # 打印看看结果,比如可能输出 [270, 180, 180, 90, 360, 90, 180, 270, 360, 90] print(randomRotationVoidList)
random.choice()每次会从候选列表里随机挑一个元素,循环N次就能得到长度为N的随机列表,完全符合你要的重复随机效果。
JavaScript 实现
如果是前端场景,用这个方法:
const rotationCandidates = [90, 180, 270, 360]; // 生成长度为8的随机列表,修改8来调整列表长度 const randomRotationVoidList = Array.from({ length: 8 }, () => { // 随机取候选数组里的一个元素 return rotationCandidates[Math.floor(Math.random() * rotationCandidates.length)]; }); console.log(randomRotationVoidList);
额外补充:如果需要无重复的随机排列
要是你偶尔需要生成不重复的随机顺序列表(比如四个元素各出现一次),那可以用洗牌的方式:
Python里可以这么写:
import random rotation_candidates = [90, 180, 270, 360] # 先复制原列表再洗牌,避免修改原数组 shuffled_list = rotation_candidates.copy() random.shuffle(shuffled_list) print(shuffled_list) # 输出类似 [180, 360, 90, 270]
内容的提问来源于stack exchange,提问作者HansRüdi
相关产品推荐
相关产品推荐

