Imprimir todas las sublistas de una lista en Python

Dada una lista, imprime todas las sublistas de una lista.
 

Ejemplos: 

Input  : list = [1, 2, 3] 
Output : [[], [1], [1, 2], [1, 2, 3], [2], 
         [2, 3], [3]]

Input : [1, 2, 3, 4] 
Output : [[], [1], [1, 2], [1, 2, 3], [1, 2, 3, 4], 
         [2], [2, 3], [2, 3, 4], [3], [3, 4], [4]]

Enfoque #1: 

El enfoque se ejecutará en dos bucles anidados hasta la longitud de la lista dada. El bucle exterior i atraviesa de 0 a la longitud de la lista y el bucle interior va de 0 a i. Necesita agregar 1 a la longitud porque el rango solo va de 0 a i-1. Para obtener el subarreglo, podemos usar el corte para obtener el subarreglo. 

Paso 1: ejecuta un ciclo hasta la longitud + 1 de la lista dada.
Paso 2: ejecuta otro ciclo de 0 a i.
Paso 3: corte el subarreglo de j a i. 
Paso 4: añádelo a otra lista para almacenarlo 
Paso 5: imprímelo al final

A continuación se muestra la implementación de Python del enfoque anterior:

Python

# Python program to print all
# sublist from a given list
 
# function to generate all the sub lists
def sub_lists (l):
    lists = [[]]
    for i in range(len(l) + 1):
        for j in range(i):
            lists.append(l[j: i])
    return lists
 
# driver code
l1 = [1, 2, 3]
print(sub_lists(l1))

Producción: 

[[], [1], [2], [1, 2], [3], [2, 3], [1, 2, 3]]

Enfoque #2: 

El enfoque utilizará la función de bucle y combinaciones. For loop se usa para iterar hasta la longitud de la lista, lo que es útil para generar una sublista de variable i -ésima longitud. Con cada iteración, la función de combinación genera la posible combinación de lista con i -ésima longitud. 

Python3

# Python program to print all
# sublist from a given list
from itertools import combinations
 
# function to generate all the sub lists
def sub_lists (l):
    # initializing empty list
    comb = []
     
    #Iterating till length of list
    for i in range(len(l)+1):
        # Generating sub list
        comb += [list(j) for j in combinations([1, 2, 3], i)]
    # Returning list
    return comb
 
# driver code
#Initial list
l1 = [1, 2, 3]
 
#Print initial list
print("Initial list is : " + str(l1))
 
# Calling function to generate all sub lists
print("All sub list is : "+ str(sub_lists(l1)))

Producción:

Initial list is : [1, 2, 3]
All sub list is : [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]

Publicación traducida automáticamente

Artículo escrito por Striver 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 *