Python | Formas de dividir la lista por algún valor

Dada una lista (que puede contener strings o números), la tarea es dividir la lista por algún valor en dos listas.
El enfoque es muy simple. Divida la primera mitad de la lista por el valor dado y la segunda mitad por el mismo valor. Hay múltiples variaciones posibles de esta operación según el requisito, como dejar caer el primer/algunos elementos en la segunda mitad después del valor dividido, etc. Veamos las diferentes formas en que podemos hacer esta tarea. 
 

Método #1: Usando el índice de la lista 

Python3

# Python code to split the list
# by some value into two lists.
 
# List initialisation
list = ['Geeks', 'forgeeks', 'is a', 'portal', 'for Geeks']
 
# Splitting list into first half
first_list = list[:list.index('forgeeks')]
 
# Splitting list into second half
second_list = list[list.index('forgeeks')+1:]
 
# Printing first list
print(first_list)
 
# Printing second list
print(second_list)
Producción: 

['Geeks']
['is a', 'portal', 'for Geeks']

 

Método #2: Usando dropwhile y set 

Python3

# Python code to split the list
# by some value into two lists.
 
# Importing
from itertools import dropwhile
 
# List initialisation
lst = ['Geeks', 'forgeeks', 'is a', 'portal', 'for Geeks']
 
# Using dropwhile to split into second list
second_list = list(dropwhile(lambda x: x != 'forgeeks', lst))[1:]
 
# Using set to get difference between two lists
first_list = set(lst)-set(second_list)
 
# removing 'split' string
first_list.remove('forgeeks')
 
# converting to list
first_list = list(first_list)
 
# Printing first list
print(first_list)
 
# Printing second list
print(second_list)
Producción: 

['Geeks']
['is a', 'portal', 'for Geeks']

 

Publicación traducida automáticamente

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