94 votes

Python: Unicité pour la liste des listes

Je suis curieux de savoir quel serait un moyen efficace d’uniquefying de tels objets de données:

Pour chaque paire de données, chaîne numérique gauche PLUS le type à droite indique l’unicité d’un élément de données. La valeur de retour doit être une liste de listes identique aux données de test, mais avec uniquement les valeurs uniques conservées.

167voto

Mark Byers Points 318575

Vous pouvez utiliser un ensemble :

Vous pouvez également voir cette page qui compare une variété de méthodes qui préservent ou ne conservent pas l’ordre.

3voto

Sam Morgan Points 1271

En développant un peu @Mark solution Byers, vous pouvez également faire une seule compréhension de liste et un typecast pour obtenir ce dont vous avez besoin:

De plus, si vous n’aimez pas les compréhensions de liste car beaucoup les trouvent déroutantes, vous pouvez faire de même dans une boucle for:

2voto

pyfunc Points 31088
import sets
testdata =[ ['9034968', 'ETH'], ['14160113', 'ETH'], ['9034968', 'ETH'], ['11111', 'NOT'], ['9555269', 'NOT'], ['15724032', 'ETH'], ['15481740', 'ETH'], ['15481757', 'ETH'], ['15481724', 'ETH'], ['10307528', 'ETH'], ['15481757', 'ETH'], ['15481724', 'ETH'], ['15481740', 'ETH'], ['15379365', 'ETH'], ['11111', 'NOT'], ['9555269', 'NOT'], ['15379365', 'ETH']]
conacatData = [x[0] + x[1] for x in testdata]
print conacatData
uniqueSet = sets.Set(conacatData)
uniqueList = [ [t[0:-3], t[-3:]] for t in uniqueSet]
print uniqueList

1voto

Khan Points 480

si vous avez une liste d’objets que vous pouvez modifier @Mark Byers répondre à:

où testdata est une liste d’objets qui a une liste testList comme attribut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X