Break a list into chunks of size N

my_list = ['python', 'for', 'engineers', 'like',

'complete','solution', 'for', 'python',

'related','queries']

def divide_chunks(l, n):

for i in range(0, len(l), n):

yield l[i:i + n]

n = 5

x = list(divide_chunks(my_list, n))

print (x)


Matrix creation of n*n Using next() + itertools.count()

import itertools

N = 4

print("The dimension : " + str(N))

temp = itertools.count(1)

res = [[next(temp) for i in range(N)] for i in range(N)]

print("The created matrix of N * N: " + str(res))


Program for Find remainder of array multiplication divided by n

from functools import reduce

def find_remainder(arr,n):

   sum_1=reduce(lambda x,y: x*y,arr)

   remainder=sum_1%n

   print(remainder)

arr=[100,10,5,25,35,14]

n=11

find_remainder(arr,n)

Reconstruct the array by replacing arr[i] with (arr[i-1]+1) % M

def construct(n, m, a):

ind = 0

for i in range(n):

if (a[i]!=-1):

ind = i

break

for i in range(ind-1, -1, -1):

if (a[i]==-1):

a[i]=(a[i + 1]-1 + m)% m

for i in range(ind + 1, n):

if(a[i]==-1):

a[i]=(a[i-1]+1)% m

print(*a)

n, m = 6, 7

a =[5, -1, -1, 1, 2, 3]

construct(n, m, a)

Program for Number of stopping station problem

def stopping_station( p, n):

num = 1

dem = 1

s = p

while p != 1:

dem *= p

p-=1

t = n - s + 1

while t != (n-2 * s + 1):

num *= t

t-=1

if (n - s + 1) >= s:

return int(num/dem)

else:

return -1

num = stopping_station(4, 12)

if num != -1:

print(num)

else:

print("Not Possible")