J'ai la liste des tuples et je vais simplement garder les tuples qu'ils ont au moins un des éléments J'ai essayé d'utiliser ce code, mais il n'a pas supprimé tous les tuples sans les éléments mentionnés. P> désire = ['h04b', 'H04T ',' H04h '] code> p> for counter in a:
if any(x in counter for x in desire):
a.remove(counter)
3 Réponses :
Utilisez une liste de compression avec une intersection de jeu et conservez des tuples où il y a au moins une intersection avec vos valeurs souhaitées, par exemple: vous donne: P> [('H40T', 'H04H'),
('Z40A', 'H04T'),
('M90K', 'H04B'),
('H40H', 'H04B'),
('H40T', 'H04H'),
('A03C', 'H04T'),
('H40T', 'H04B')]
Vous pouvez utiliser une compréhension de liste et n'importe quel code> pour effectuer le filtrage
b=[1,2,3,3,4,5]
c=b.copy()
for el in c:
print(el)
if el==3:
b.remove(el)
Le principal problème avec votre approche est que vous éliminez des éléments de la liste tout en itérant. Vous devez créer une nouvelle liste des résultats filtrés comme écrit dans les réponses.