Dada una lista, la tarea es escribir un programa de Python para crear una lista anidada donde los valores son el recuento de elementos de la lista.
Ejemplos:
Input: [1, 2, 3] Output: [[1], [2, 2], [3, 3, 3]] Input: [4, 5] Output: [[1, 1, 1, 1], [2, 2, 2, 2, 2]]
Método 1: usar la comprensión de listas anidadas
La lista contendrá el recuento de los elementos de la lista para cada elemento e en la lista. Crearemos una lista en la lista con tamaño e, en cada lista agregaremos el elemento e por e veces.
Python3
l = [1, 2, 3, 4, 5] l = [[i+1 for j in range(l[i])] for i in range(len(l))] print(l)
Producción:
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5]]
Método 2:
La lista contendrá el recuento de los elementos de la lista iterar el bucle for L veces, es decir, la longitud de la lista. Ahora, en cada elemento, agregue una lista. La lista adjunta será del tamaño de la cuenta.
Python3
l = [1, 2, 3, 4, 5] for i in range(len(l)): l[i] = [i+1 for j in range(i+1)] print(l)
Producción:
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5]]
Método 3: Usando *
Python3
l = [1, 2, 3, 4, 5] nl=[] for i in range(0,len(l)): j=[i+1] nl.append(j*l[i]) print(nl)
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5]]
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA