gpt4 book ai didi

python - 根据索引是否包含在间隔列表中创建零/一列表

转载 作者:行者123 更新时间:2023-12-05 01:04:48 26 4
gpt4 key购买 nike

我有一个列表列表,每个列表表示一个数字区间:

intervals = [[1, 4],
[7, 9],
[13, 18]
]

我需要创建一个包含 20 个元素的列表,如果每个元素的索引不包含在任何间隔中,则每个元素为 0,否则为 1。因此,所需的输出是:

output = [0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0]

我可以想到使用一些简单的东西,如下所示:

output = zeros(20)
for index, _ in enumerate(output):
for interval in intervals:
if interval[0] <= index <= interval[1]:
output[index] = 1

但是有没有更有效的方法?

最佳答案

与@mozway 的答案基本相同,但没有创建中间数据结构并且可以说更具可读性:

output = np.zeros(N, dtype=int)

for start, end in intervals:
output[np.arange(start, end+1)] = 1

关于python - 根据索引是否包含在间隔列表中创建零/一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71411194/

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