Python - Consecutive Ranges of K greater than N



When it is required to get the consecutive ranges of ‘K’ which are greater than ‘N’, the ‘enumerate’ attribute and simple iteration is used.

Example

Below is a demonstration of the same

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)

Output

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)]

Explanation

  • A list is defined and is displayed on the console.

  • The values for ‘K’ and ‘N’ are defined and are displayed on the console.

  • An empty list is defined.

  • The value for ‘previous’ is defined.

  • The values for ‘beginning’ and ‘end’ are defined.

  • The list is iterated over by enumerating it.

  • If any element in the list is equivalent to another value ‘k’, the index value is redefined.

  • Otherwise, the values of ‘previous’ is redefined.

  • The beginning and end values are appended to the empty list.

  • This is returned as output.

  • The output is displayed on the console.

Updated on: 2021-09-21T08:10:07+05:30

285 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements