Enquanto trabalhamos com as listas python, podemos nos deparar com uma situação na qual precisamos modular o inteiro k para cada elemento da lista. Possivelmente precisamos iterar e modular k para cada elemento, mas isso aumentaria a linha de código. Vamos discutir alguns atalhos para realizar essa tarefa.

Método # 1: Usando a compreensão de
listas A compreensão de listas é apenas o caminho curto para realizar a tarefa que realizamos usando o método ingênuo. Isso é útil principalmente para economizar tempo e também é melhor entre outros no que diz respeito à legibilidade do código.

test_list = [4, 5, 6, 3, 9] 
print ("The original list is : " + str(test_list)) 
K = 4
res = [x % K for x in test_list] 
print ("The list after Modulo K to each element : " + str(res)) 
Resultado :
A lista original é: [4, 5, 6, 3, 9]
A lista depois do Módulo K para cada elemento: [0, 1, 2, 3, 1]

 

Método # 2: Usando map()+ lambda
A função de mapa pode ser usada para emparelhar cada elemento com a função lambda que executa a tarefa do módulo K para cada elemento da lista.



test_list = [4, 5, 6, 3, 9] 
print ("The original list is : " + str(test_list)) 
K = 4
res = list(map(lambda x : x % K, test_list)) 
print ("The list after Modulo K to each element : " + str(res)) 
Resultado :
A lista original é: [4, 5, 6, 3, 9]
A lista depois do Módulo K para cada elemento: [0, 1, 2, 3, 1]