-1
votes

Comment puis-je vérifier s'il y a une liste de copie dans une liste de listes?

J'ai un résultat de liste contenant des listes. Je souhaite ajouter une liste uniquement si cela n'existe pas.

SO P>

RESULT = [[5,6], [4,5,8], [1,2,3]]


4 commentaires

Qu'est-ce que tu as essayé jusque-là?


Pourquoi ne pouvez-vous pas utiliser un ensemble?


@Alec_a oui, je comprends mais incapable de décider lequel a effectivement résolu le problème. Un peu résolu il d'autre manière mais donnera une autre lecture aux réponses et marquer :-)


@Atihska merci! Au fait, si vous avez trouvé un moyen différent de le résoudre, vous voudrez peut-être poster une réponse à votre propre question. Cela pourrait aider les futurs lecteurs (et vous avoir un représentant si elles sont enclines à la remettre)


4 Réponses :


3
votes
def add(data_, value):
    if value not in data_:
        data_.append(value)

data = [[5, 6], [4, 5, 8]]
print(data)  # [[5, 6], [4, 5, 8]]
add(data, [1, 2, 3])
print(data)  # {(5, 6), (4, 5, 8), (1, 2, 3)}
add(data, [5, 6])
print(data)  # {(5, 6), (4, 5, 8), (1, 2, 3)}

0 commentaires

2
votes

Vous pouvez utiliser iTERTOOLS.GROUPBY () Code> : xxx pré>

Vérifiez-le: P>

if ls == no_dupes:
     # Do x


0 commentaires

0
votes
i=0    
count=0
while i<3:
  if input == RESULT[i]:
     count=count+1
  i = i + 1
if count==0:
    RESULT.append(input)
print(RESULT)

0 commentaires

1
votes

La solution la plus simple peut être d'utiliser une instruction si code> à la première vérification si [5,6] code> n'est pas déjà dans résultat code>, et si Non, Ajoutez CODE> IT, sinon continue, signalez-vous éventuellement à l'utilisateur qu'il s'agissait d'un duplicata et de non annexé: xxx pré>

sortie: p>

RESULT: [[5, 6], [4, 5, 8], [1, 2, 3]]
Traceback (most recent call last):
  File "main.py", line 15, in <module>
    raise(Exception(f'{l} is a duplicate and thus was not appended'))
Exception: [5, 6] is a duplicate and thus was not appended


0 commentaires