A veces, necesitamos inicializar una array en Python de longitud variable de la lista que contiene elementos. En este artículo, discutiremos la inicialización del método de longitud variable y ciertas abreviaturas para hacerlo. Analicemos ciertas formas de realizar esto.
Método n.º 1: usar zip()
+ comprensión de listas
La función zip combinada con la comprensión de listas puede ayudar a lograr esta tarea en particular. La función zip puede ayudar a comprimir la lista de contadores con la lista de elementos y la comprensión de listas hace el trabajo de construcción de la array.
# Python3 code to demonstrate # Custom length Matrix # using zip() + list comprehension # initializing list test_list = ['a', 'b', 'c'] # initializing counter list counter_list = [1, 4, 2] # printing original list print ("The original list is : " + str(test_list)) # printing counter list print ("The counter list is : " + str(counter_list)) # using zip() + list comprehension # Custom length Matrix res = [[i] * j for i, j in zip(test_list, counter_list)] # printing result print ("The custom length matrix is : " + str(res))
The original list is : ['a', 'b', 'c'] The counter list is : [1, 4, 2] The custom length matrix is : [['a'], ['b', 'b', 'b', 'b'], ['c', 'c']]
Método n.° 2: Usomap() + mul operator
Este problema en particular también se puede resolver utilizando el operador mul incorporado que realiza la multiplicación de los elementos de índice deseados y la función de mapa realiza la tarea de formación de la array.
# Python3 code to demonstrate # Custom length Matrix # using map() + mul operator from operator import mul # initializing list test_list = ['a', 'b', 'c'] # initializing counter list counter_list = [1, 4, 2] # printing original list print ("The original list is : " + str(test_list)) # printing counter list print ("The counter list is : " + str(counter_list)) # using map() + mul operator # Custom length Matrix res = list(map(mul, [['a'], ['b'], ['c']], counter_list)) # printing result print ("The custom length matrix is : " + str(res))
The original list is : ['a', 'b', 'c'] The counter list is : [1, 4, 2] The custom length matrix is : [['a'], ['b', 'b', 'b', 'b'], ['c', 'c']]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA