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



我想在列表中每隔第10个数字取一个,并将其与同一列表第10个数中的最后9个数进行比较,然后检查前9个数中是否有任何一个在第10个的+100/-100范围内。

因此,如果我有一个列表,比如10000个数字;

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之间,依此类推。

您只需要使用内置的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)))

这将遍历列表中的每10个元素,并将True添加到within_range列表中(如果前9个元素中的任何一个在其100以内(,否则添加False

最新更新