如何获取列表的每K个数字,并根据同一列表的前n个数字进行度量?

问题描述 投票:-1回答:1

我要在列表中使用每10个数字,并将其与同一列表中第10个数字的后9个数字进行比较,并检查前9个数字是否在+100之内/ -100的第10个数字范围。

所以,如果我有一个包含10,000个数字的列表;

large_list = [4504, 4405, 4302, 4706, 4332, 4656, 3045, 1056, 4556, 4032, 4504, 4405, 4302, 4706, 3342, 3356, 3245, 2356, 4156, 4300, .....]

在这种情况下,每10个数字都是4032和4300,所以我想检查4032中的最后9个数字是否在3932和4132之内,然后检查4300中的最后9个先前数字是否在4200之内和4400,依此类推。

python statistics counting
1个回答
1
投票

您只需要使用内置的any()函数来查看后10个是否满足条件。

large_list = [4504, 4405, 4302, 4706, 4332, 
              4656, 3045, 1056, 4556, 4032, 
              4504, 4405, 4302, 4706, 3342, 
              3356, 3245, 2356, 4156, 4300]

within_range = []
step = 10

for i in range(step - 1, len(large_list), step):
    within_range.append(any(large_list[i] - 100 <= large_list[i-j] <= large_list[i] + 100 for j in range(1, step)))

如果前面的9个元素中的任何一个在其100个范围之内,则它将遍历列表中的第10个元素,并将True添加到within_range列表,否则,将其添加到False

© www.soinside.com 2019 - 2024. All rights reserved.