[PYTHON] Je veux compter des valeurs uniques dans un tableau ou un tuple

Chose que tu veux faire

['a', 'a', 'b', 'b', 'b'],[('a', 2), ('b', 3)]je veux Je veux n'en prendre que deux ou plus à partir de là. SQL semble facile. Est-ce quelque chose qui ne peut pas être fait avec Python seul?

manière

Fabriqué avec

[(g[0], len(list(g[1]))) for g in itertools.groupby(array.sort())]

Example

>>> import itertools
>>> array = ['a', 'a', 'b', 'b', 'b']
>>> uniq = [(g[0], len(list(g[1]))) for g in itertools.groupby(array.sort())]
>>> uniq
[('a', 2), ('b', 3)]

Ce que je voulais faire

>>> tuples = [('aaa', 'bbb'), ('aaa', 'bbb'), ('aaa', 'vvv'), ('bbb', 'ccc'), ('bbb', 'ccc')]
>>> uniq = [(g[0], len(list(g[1]))) for g in itertools.groupby(tuples.sort())]
>>> uniq
[(('aaa', 'bbb'), 2), (('aaa', 'vvv'), 1), (('bbb', 'ccc'), 2)]
>>>  filter(lambda f: f[1] > 1, uniq)
[(('aaa', 'bbb'), 2), (('bbb', 'ccc'), 2)]

Seulement deux ou plus ont été retirés.

référence

http://stackoverflow.com/questions/2392929/how-to-get-unique-values-with-respective-occurance-count-from-a-list-in-python


J'ai eu un commentaire sur une bibliothèque plus utile.

Il y avait des `` collections '' plus pratiques

>>> from collections import Counter
>>> tuples = [('aaa', 'bbb'), ('aaa', 'bbb'), ('aaa', 'vvv'), ('bbb', 'ccc'), ('bbb', 'ccc')]
>>> uniq = Counter(tuples)
>>> uniq 
Counter({('aaa', 'bbb'): 2, ('bbb', 'ccc'): 2, ('aaa', 'vvv'): 1})
>>> filter(lambda f: f[1] > 1, uniq.items())
[(('aaa', 'bbb'), 2), (('bbb', 'ccc'), 2)]

collections.Utilisons Counter!!



# référence
http://docs.python.jp/2/library/collections.html



Recommended Posts

Je veux compter des valeurs uniques dans un tableau ou un tuple
Je veux rendre le type de dictionnaire dans la liste unique
Je veux créer un fichier pip et le refléter dans le menu fixe
Je veux imprimer dans la notation d'inclusion
Je veux intégrer Matplotlib dans PySimpleGUI
Je veux faire le test de Dunnett en Python
Je veux corriger Datetime.now dans le test de Django
Je souhaite stocker les informations de la base de données dans la liste
Je veux fusionner des dictionnaires imbriqués en Python
Je veux afficher la progression en Python!
Je veux visualiser où et combien de personnes se trouvent dans l'usine
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Je veux écrire en Python! (1) Vérification du format de code
Je souhaite intégrer une variable dans une chaîne Python
Je veux facilement implémenter le délai d'expiration en python
Je veux faire la transition avec un bouton sur le ballon
Je veux utiliser self avec Backpropagation (tf.custom_gradient) (tensorflow)
Je veux gérer l'optimisation avec python et cplex
Je veux écrire en Python! (2) Écrivons un test
Même avec JavaScript, je veux voir Python `range ()`!
Je veux échantillonner au hasard un fichier avec Python
Je veux travailler avec un robot en python.
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
Je veux faire quelque chose avec Python à la fin
Je veux manipuler des chaînes dans Kotlin comme Python!
Je veux remplacer les variables dans le fichier de modèle python et le produire en masse dans un autre fichier
Un script qui compte jusqu'à 5 secondes et s'arrête dans le Python de Blender
Je veux me débarrasser des avertissements d'importation de Pyright et pylint dans VSCode
Je veux résoudre SUDOKU
J'ai essayé d'illustrer le temps et le temps du langage C
Je souhaite améliorer l'efficacité avec Python même dans les systèmes expérimentaux (2) RS232C et pySerial
Je souhaite copier un article en anglais à partir d'un pdf et le mettre dans Google Traduction
Comment obtenir toutes les clés et valeurs du dictionnaire
[Django] Je souhaite me connecter automatiquement après une nouvelle inscription
Je veux connaître la nature de Python et pip
[Introduction à Pytorch] Je souhaite générer des phrases dans des articles de presse
Je souhaite mapper le code EDINET et le numéro de valeur
Je veux aligner les nombres valides dans le tableau Numpy
Je veux que Sphinx soit pratique et utilisé par tout le monde
Je veux pouvoir exécuter Python avec VS Code
Je veux ajouter un joli complément à input () en python
Je veux utiliser VS Code et Spyder sans anaconda! !! !!
Je ne voulais pas écrire la clé AWS dans le programme
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
Je veux utiliser des rails avec des rails même dans un environnement vagabond
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
Je souhaite utiliser à la fois la clé et la valeur de l'itérateur Python
[Couches Python / AWS Lambda] Je souhaite réutiliser uniquement le module dans AWS Lambda Layers
Je souhaite acquérir et répertorier les données boursières japonaises sans grattage
Gratter et manger des bûches - je veux trouver un bon restaurant! ~ (Travail)
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Je veux réussir le test G dans un mois Jour 1
J'étais accro aux variables de classe et aux variables d'instance erronées en Python
Je veux connaître la population de chaque pays du monde.
Je veux pirater Robomaster S1 ① Vérification de l'enracinement et de la configuration des fichiers
Je veux comprendre à peu près systemd
Je veux gratter des images et les former