Python: cree una lista anidada que contenga valores como el recuento de elementos de la lista

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)
Producción

[[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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *