gpt4 book ai didi

python - 定期替换列表中的值

转载 作者:IT老高 更新时间:2023-10-28 20:29:39 32 4
gpt4 key购买 nike

假设我在 Python 中有以下列表:

my_list = [10] * 95

给定 n,我想将列表中的任何其他 m 元素替换为零,同时保留下一个 n 元素。

例如,如果 n = 3m = 2,我希望我的列表如下所示:

[10, 10, 10, 0, 0, 10, 10, 10 ,0, 0, ..., 10, 10, 10 , 0, 0]

如果不能完美填充,如n = 4m = 2的情况,那么我的列表如下所示即可:

[10, 10, 10, 10, 0, 0, ..., 10, 10, 10, 10, 0]

我应该如何尝试解决这个问题?

最佳答案

您可以使用 itertools.cycle创建 [10, 10, 10, 0, 0] 的无限序列,然后使用 itertools.islice 获取该序列的前 95 个元素:

n = 3
m = 2

pattern = [10] * n + [0] * m
my_list = list(itertools.islice(itertools.cycle(pattern), 95))

关于python - 定期替换列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52493328/

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