2017-10-19 5 views
1

Si je devais avoir un tableau 2D en python, direPython enlever les éléments d'un tableau 2d en fonction de premier élément

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]] 

Je voudrais un moyen de supprimer tous les articles de LST où le premier élément est 'b', de sorte que vous revenez avec:

[['a','1', '2'], ['c', 1, 2]] 

Toute aide serait grandement appréciée, de préférence si seulement des bibliothèques intégrées sont utilisées. Merci

Répondre

3

Utilisez un list comprehension

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]] 
lst = [x for x in lst if x[0] != 'b'] 
print(lst) 

impressions

[['a', '1', '2'], ['c', 1, 2]] 
0

Ne pas utiliser une bibliothèque intégrée, mais serait probablement plus rapide si le tableau est grand,

import numpy as np 

lst = np.array(lst) 
a = lst[np.where(lst[:,0] != 'b')] 
a.to_list() 

[['a', '1', '2'], ['c', '1', '2']]