gpt4 book ai didi

python - 在随机列表生成中强制执行 "no 2 same contiguous elements"

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:27 25 4
gpt4 key购买 nike

我有一组 4 个字符串,想生成一个包含 16 个元素的列表,但是执行规则(或获得与执行此类规则相同的结果)永远不会在结果中的两个连续位置重复相同的元素列表。

作为 Python 的新手,我去检查了 random 库中的不同方法,发现了许多不同且有用的方法来做类似的事情(random.shuffle 几乎可以做到),但没有一个解决这个问题我的特殊需要。

我应该使用什么数据格式和什么方法?

最佳答案

伪代码算法:

  1. For i in n(n 是你想要的元素数量)
  2. 生成下一个元素
  3. 如果与前一个元素相同,则重复2

使用 random.choice 从元素列表中随机选择一个元素。

这是一个概念证明 Python 代码:

import random
sources = ['a', 'b', 'c', 'd'] # you said 4 strings
result = [random.choice(sources)]

while len(result) < 16: # you said you need 16 elements
elem = random.choice(sources)
if elem != result[-1]:
result.append(elem)

这段代码是为了清晰而不是简洁、聪明或速度而优化的。

关于python - 在随机列表生成中强制执行 "no 2 same contiguous elements",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6647174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com