Python - K 大于 N 的连续范围
当需要获取大于'N'的'K'的连续范围时,使用'enumerate'属性和简单迭代。
示例
下面是相同的演示
my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] print("名单是:") print(my_list) K = 65 N = 3 print("K的值是 ") print(K) print("N的值为 ") 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("结果是:") print(my_result)输出结果
名单是: [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] K的值是 65 N的值为 3 结果是: [(4, 10)]
解释
定义了一个列表并显示在控制台上。
'K'和'N'的值已定义并显示在控制台上。
定义了一个空列表。
'previous'的值已定义。
定义了“开始”和“结束”的值。
列表通过枚举来迭代。
如果列表中的任何元素等效于另一个值“k”,则重新定义索引值。
否则,重新定义'previous'的值。
开始值和结束值附加到空列表中。
这作为输出返回。
输出显示在控制台上。