gpt4 book ai didi

python - 是否有一种python方式从列表或numpy数组中采样N个连续元素

转载 作者:行者123 更新时间:2023-12-03 15:58:36 24 4
gpt4 key购买 nike

有没有一种pythonic的方法从列表或numpy数组中选择N个连续的元素。
因此,假设:

Choice = [1,2,3,4,5,6] 
我想通过随机选择Choice中的元素X以及选择之后的N-1个连续元素来创建长度为N的新列表。
因此,如果:
X = 4 
N = 4
结果列表将是:
Selection = [5,6,1,2] 
我认为类似以下内容的方法会起作用。
S = [] 
for i in range(X,X+N):
S.append(Selection[i%6])
但是我想知道是否有一个python或numpy函数可以立即选择元素,这样效率更高。

最佳答案

使用itertools,特别是islicecycle

start = random.randint(0, len(Choice) - 1)
list(islice(cycle(Choice), start, start + n))
cycle(Choice)是重复原始列表的无限序列,因此切片 start:start + n会在必要时进行换行。

关于python - 是否有一种python方式从列表或numpy数组中采样N个连续元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65912024/

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