In Python möchte ich einige integrierte Funktionen und Standardbibliotheken vorstellen, die ein wenig nützlich sind! Es gibt verschiedene Arten von Major bis Nische, aber wenn Sie es nicht wissen, schauen Sie es sich bitte an.
all () gibt True zurück, wenn alle Elemente des Arguments True sind, und any () gibt True zurück, wenn eines der Elemente des Arguments True ist.
In [1]: all(_ % 2 == 0 for _ in [1, 2, 3]) #Alles gerade oder nicht
Out[1]: False
In [2]: any(_ % 2 == 0 for _ in [1, 2, 3]) #Jeder ist gerade oder nicht
Out[2]: True
divmod
Es wird sofort nach dem Quotienten und dem Rest gefragt.
In [1]: 10 // 3, 10 % 3 #Ich suche Quotienten und Rest
Out[1]: (3, 1)
In [2]: divmod(10, 3) #Genau das gleiche wie oben
Out[2]: (3, 1)
collections
Counter.most_common
Es wird in absteigender Reihenfolge der Häufigkeit des Auftretens iterierbar sortiert. Sie können sofort das Wort finden, das in einem Satz am häufigsten verwendet wird.
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
Erstellen Sie ein Wertobjekt. Dies ist praktisch, wenn Sie mehrere Attribute haben möchten.
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
Normales Diktat behält die Einfügereihenfolge nicht bei, OrderedDict jedoch.
In [1]: from collections import OrderedDict
In [2]: d = OrderedDict((('a', 1), ('b', 2), ('c', 3))) # OrderedDict(a=1, b=2, c=3)Bitte beachten Sie, dass es nicht gewartet wird
In [3]: d['d'] = 4 #Am Ende hinzugefügt
In [4]: for k, v in d.iteritems(): print k, v #Drucken Sie in der Reihenfolge des Einfügens
a 1
b 2
c 3
d 4
math
fsum
Findet die Summe der Werte in iterable, ohne Ziffern zu löschen.
In [1]: import math
In [2]: sum([.1] * 10) #Es werden Ziffern gelöscht
Out[2]: 0.9999999999999999
In [3]: math.fsum([.1] * 10)
Out[3]: 1.0
log10
Für den allgemeinen Logarithmus ist es genauer, log10 (x) anstelle von log (x, 10) zu verwenden.
In [1]: import math
In [2]: math.log(5, 10)
Out[2]: 0.6989700043360187
In [3]: math.log10(5) #Wie oben, aber genauer
Out[3]: 0.6989700043360189
fileinput
Es können mehrere Dateien gleichzeitig verarbeitet werden. Wenn keine Datei angegeben ist, wird die Standardeingabe gelesen.
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 #Lesen Sie mehrere Dateien gleichzeitig
a b c
d e f
$ cat abc.txt | python fileinput.py #Standardeingabe
a b c
ConfigParser
Liest die Konfigurationsdatei und analysiert sie gut.
.gitconfig(Teil)
[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
Es analysiert Wörter und teilt sie gut. Im Gegensatz zu str.split werden die in Anführungszeichen eingeschlossenen Teile vereinheitlicht.
In [1]: import shlex
In [2]: '''he said 'you are beautiful!' '''.split() # ' 'Das Innere ist geteilt
Out[2]: ['he', 'said', "'you", 'are', "beautiful!'"]
In [3]: shlex.split('''he said 'you are beautiful!' ''') # ' 'Das Innere ist organisiert!
Out[3]: ['he', 'said', 'you are beautiful!']
Recommended Posts