Python - 大于 N 的 K 的连续范围
当需要获取大于‘N’的‘K’的连续范围时,使用‘enumerate’属性和简单迭代。
示例
以下是同样的演示
my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] print("The list is :") print(my_list) K = 65 N = 3 print("The value of K is ") print(K) print("The value of N is ") print(N) my_result = [] beg, end = 0, 0 previous = 1 for index, element in enumerate(my_list): if element == K: end = index if previous != K: beg = index else: if previous == K and end - beg + 1 >= N: my_result.append((beg, end)) previous = element print("The result is :") print(my_result)
输出
The list is : [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] The value of K is 65 The value of N is 3 The result is : [(4, 10)]
解释
定义了一个列表并显示在控制台上。
‘K’和‘N’的值被定义并显示在控制台上。
定义一个空列表。
‘previous’的值被定义。
‘beginning’和‘end’的值被定义。
通过枚举列表对其进行迭代。
如果列表中的任何元素等同于另一个值‘k’,则重新定义索引值。
否则,重新定义‘previous’的值。
将起止值附加到空列表。
将其作为输出返回。
输出显示在控制台中。
广告