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