Python: filas con todos los elementos de la lista

Dada una Array, obtenga todas las filas con todos los elementos de la lista.

Entrada : test_list = [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]], sub_list = [1, 2] 
Salida : [[2 , 1, 8], [6, 1, 2]] 
Explicación : las listas extraídas tienen 1 y 2.

Entrada : test_list = [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]], sub_list = [2, 6] 
Salida : [[7 , 6, 3, 2], [6, 1, 2]] 
Explicación : las listas extraídas tienen 2 y 6.

Método #1: Usar bucle

En esto, iteramos para cada fila de Matrix y verificamos la presencia de cada elemento de la lista, si la fila actual se devuelve como resultado. Si algún elemento no está presente, la fila se marca.

Python3

# Python3 code to demonstrate working of
# Rows with all List elements
# Using loop
  
# initializing list
test_list = [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing list
sub_list = [1, 2]
  
res = []
for row in test_list:
  
    flag = True
  
    # checking for all elements in list
    for ele in sub_list:
        if ele not in row:
            flag = False
  
    if flag:
        res.append(row)
  
# printing result
print("Rows with list elements : " + str(res))

Producción:

La lista original es: [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]]
Filas con elementos de lista: [[2, 1, 8 ], [6, 1, 2]]

Método #2: Usando all() + comprensión de lista

En esto, todos los elementos de presencia probados con all(), la comprensión de la lista se usa como una sola línea para realizar la tarea de iterar a través de las filas.

Python3

# Python3 code to demonstrate working of 
# Rows with all List elements
# Using all() + list comprehension
  
# initializing list
test_list = [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing list  
sub_list = [1, 2]
  
# testing elements presence using all()
res = [row for row in test_list if all(ele in row for ele in sub_list)]
          
# printing result 
print("Rows with list elements : " + str(res))

Producción:

La lista original es: [[7, 6, 3, 2], [5, 6], [2, 1, 8], [6, 1, 2]]
Filas con elementos de lista: [[2, 1, 8 ], [6, 1, 2]]

Publicación traducida automáticamente

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