Utile à retenir! 10 bibliothèques standard Python

En Python, j'aimerais vous présenter quelques fonctions intégrées et bibliothèques standard qui sont un peu utiles à connaître! Il existe différents types, du plus grand au créneau, mais si vous ne le savez pas, veuillez le vérifier.

Fonctions intégrées

tout et tout

all () renvoie True si tous les éléments de l'argument sont True, et any () renvoie True si l'un des éléments de l'argument est True.

In [1]: all(_ % 2 == 0 for _ in [1, 2, 3]) #Tout même ou pas
Out[1]: False

In [2]: any(_ % 2 == 0 for _ in [1, 2, 3]) #Tout le monde est pair ou pas
Out[2]: True

divmod

Il demande le quotient et le reste à la fois.

In [1]: 10 // 3, 10 % 3 #Recherche du quotient et du reste
Out[1]: (3, 1)

In [2]: divmod(10, 3) #Exactement le même que ci-dessus
Out[2]: (3, 1)

collections

Counter.most_common

Il trie les itérations par ordre décroissant de fréquence d'apparition. Vous pouvez trouver instantanément le mot qui est le plus utilisé dans une phrase.

In [1]: from collections import Counter

In [2]: Counter(['a', 'b', 'c', 'a', 'b', 'a']).most_common()
Out[2]: [('a', 3), ('b', 2), ('c', 1)]

namedtuple

Créez un objet de valeur. Ceci est pratique lorsque vous souhaitez avoir plusieurs attributs.

In [1]: from collections import namedtuple

In [2]: Doc = namedtuple('Doc', 'tf idf')

In [3]: doc = Doc(tf=0.1, idf=0.01)

In [4]: doc.tf, doc.idf
Out[4]: (0.1, 0.01)

OrderedDict

Le dict normal ne conserve pas l'ordre d'insertion, contrairement à OrderedDict.

In [1]: from collections import OrderedDict

In [2]: d = OrderedDict((('a', 1), ('b', 2), ('c', 3))) # OrderedDict(a=1, b=2, c=3)Veuillez noter qu'il ne sera pas maintenu

In [3]: d['d'] = 4 #Ajouté à la fin

In [4]: for k, v in d.iteritems(): print k, v #Imprimer dans l'ordre d'insertion
a 1
b 2
c 3
d 4

math

fsum

Recherche la somme des valeurs dans itérable sans perdre de chiffres.

In [1]: import math

In [2]: sum([.1] * 10) #Il laissera tomber des chiffres
Out[2]: 0.9999999999999999

In [3]: math.fsum([.1] * 10)
Out[3]: 1.0

log10

Pour le logarithme courant, il est plus précis d'utiliser log10 (x) au lieu de log (x, 10).

In [1]: import math

In [2]: math.log(5, 10)
Out[2]: 0.6989700043360187

In [3]: math.log10(5) #Identique à ci-dessus mais plus précis
Out[3]: 0.6989700043360189

fileinput

Plusieurs fichiers peuvent être traités à la fois. Si aucun fichier n'est spécifié, l'entrée standard est lue.

abc.txt


a b c

def.txt


d e f

fileinput.py


import fileinput
for l in fileinput.input():
  print l 
$ python fileinput.py abc.txt def.txt #Lire plusieurs fichiers à la fois
a b c
d e f
$ cat abc.txt | python fileinput.py #Entrée standard
a b c

ConfigParser

Lit le fichier de configuration et l'analyse correctement.

.gitconfig(partie)


[user]
name = Hoge
email = [email protected]
[color]
ui = auto
diff = auto
status = auto
interactive = auto
branch = auto
grep = auto

configparser.py


import ConfigParser
cfg = ConfigParser.SafeConfigParser()
cfg.read('.gitconfig')

for sec in cfg.sections():
    print '[{}]'.format(sec)
    for opt in cfg.options(sec):
      print '{} : {}'.format(opt, cfg.get(sec, opt))
$ python configparser.py
[user]
name : Hoge
email : [email protected]
[color]
ui : auto
diff : auto
status : auto
interactive : auto
branch : auto
grep : auto

shlex.split

Il analyse les mots et les divise bien. Contrairement à str.split, il unifie les parties entre guillemets.

In [1]: import shlex

In [2]: '''he said 'you are beautiful!' '''.split() # ' 'L'intérieur est divisé
Out[2]: ['he', 'said', "'you", 'are', "beautiful!'"]

In [3]: shlex.split('''he said 'you are beautiful!' ''') # ' 'L'intérieur est organisé!
Out[3]: ['he', 'said', 'you are beautiful!']

Recommended Posts

Utile à retenir! 10 bibliothèques standard Python
python à retenir uniquement avec bonjour, mondes
Python 3.9 dict merge (`|`) semble être utile
Entrée standard Python3 que j'ai essayé de résumer
[Python] Ajouter un commentaire au fichier d'entrée standard
Mis à jour vers Python 2.7.9
[Python] Entrée standard
"Backport" vers python 2
Comment générer "Ketsumaimo" en standard en Python
Liste de code Python à déplacer et à mémoriser
[CentOS8] Comment afficher la sortie Python standard dans le journal systemd
Python: décompressez depuis l'entrée standard en utilisant zipfile
Vous devez savoir si vous utilisez Python! 10 bibliothèques utiles
Comment installer Python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
[Python] Débogage super utile
Réécrire le code Python2 en Python3 (2to3)
Introduction au langage Python
Commandes Linux à retenir
Un débutant en Python dit qu'il est bon de s'en souvenir
Introduction à OpenCV (python) - (2)
[Python] Changer l'entrée standard du clavier en fichier texte
Remarque pour faire de python un démon
Introduction de Python 2.7 à CentOS 6.6
Connectez python à mysql
[Python] À propos de l'entrée standard
liens de mémo utiles python
[Python] Il peut être utile de lister les trames de données
Essayez d'afficher diverses informations utiles pour le débogage avec python
Comment déboguer une bibliothèque Python standard dans Visual Studio
Changer la destination de sortie standard en un fichier en Python
Pour aller et venir entre python standard, numpy, pandas ①
Cinq types de données Python utiles faciles à oublier
Un moyen standard de développer et de distribuer des packages en Python
Astuces utiles liées à la liste et aux instructions en Python
Liste des bibliothèques à installer lors de l'installation de Python à l'aide de Pyenv
Aller au langage pour voir et se souvenir de la partie 8 Appeler le langage GO à partir de Python
Connectez-vous à BigQuery avec Python
Publier de Python vers Slack
Comment installer Python [Windows]
publier sur vim → Python → Slack
Introduction à Python Django (2) Win
Pour vider stdout en Python
Convertir numpy int64 en python int
python3: Comment utiliser la bouteille (2)
[Python] Convertir la liste en Pandas [Pandas]
Python 3.4 ou version ultérieure standard pip
Flirter de PHP à Python
Une route vers Python intermédiaire
[Python3] Entrée standard [Cheet sheet]
Essayez de comprendre Python soi
Remarques sur l'utilisation du test unittest standard Python
Connectez-vous au site Web en Python
Connectez-vous à Wikipedia avec Python
Comment mettre à jour Tkinter de Python vers la version 8.6
Publiez sur Slack avec Python 3
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Entrée standard Python3 (compétition pro)