 # Python | Divide K elements after every N values

Method # 1: Using Loops
This is a naive and brute force method, to solve this particular problem with a loop, we can generate a new list to check for K occurrences of elements after each N elements.

 ` # Python3 code for demonstration ` ` # Getting K elements after N values ​​` ` # using loops `   ` # initializing list ` ` test_list ` ` = ` ` [` ` 4 ` `, ` ` 5 ` `, ` ` 2 ` `, ` ` 7 ` `, ` ` 8 ` `, ` ` 4 ` `, ` ` 10 ` `, ` ` 9 ` `, ` ` 11 ` `, ` ` 13 ` `] ````   # print original list print ( "The original list:" + str (test_list))   # initializing N and K N = 2 K = 3    # using loops # Getting K elements after N values ​​ res = [] while test_list: res + = test_list [: K] test_list = test_list [K + N:]   # print result print ( "The list after selective slicing:" + str (res)) ```

Output:

` The original list: [4, 5, 2, 7, 8, 4, 10, 9, 11, 13] The list after selective slicing: [4 , 5, 2, 4, 10, 9] `

Method # 2: Using List Comprehension
This particular task can be accomplished using a shorthand method the above method using list comprehension, in this method we also use list slicing to perform the slicing required.

 ` # Python3 demo code ` ` # Get K elements after N values ​​` ` # use comprehension list `   ` # initializing list ` ` test_list ` = ` [` ` 4 ` `, 5 , 2 , 7 , 8 , 4 , 10 , 9 , 11 , 13 ] ````    # print original list print ( " The original list: " + str (test_list))    # initializing N and K N = 2 K = 3    # using comprehension list # Getting K elements after N values ​​ res = [y for x in [test_list [i: i + K] for i in   range ( 0 , len (test_list), N + K)] for y in x]    # print result print ( " The list after selective slicing: " + str (res)) ```

Output:

` The original list: [4, 5, 2, 7, 8, 4, 10, 9, 11, 13] The list after selective slicing: [4, 5, 2, 4, 10, 9] `