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’的值。

  • 将起止值附加到空列表。

  • 将其作为输出返回。

  • 输出显示在控制台中。

更新于: 21 年 9 月 21 日

217 次浏览

开启你的 职业生涯

完成课程认证

立即开始
广告