die neuen Wörter zusammen mit dem „“ Charakter verbinden Wenn du auf Geschwindigkeit, sondern nur die Zeichenfolge Crafting scheint manuell doppelt so schnell zu sein:
In [8]: import re
In [9]: sentence = "hello world this is my sentence"
In [10]: nonspace = re.compile('[^\s]+')
In [11]: %timeit re.sub(nonspace, 'newword', sentence)
100000 loops, best of 3: 6.28 µs per loop
In [12]: %timeit ' '.join('newword' for _ in xrange(len(sentence.split())))
100000 loops, best of 3: 2.52 µs per loop
In [13]: sentence *= 40 # Make the sentence longer
In [14]: %timeit re.sub(nonspace, 'newword', sentence)
10000 loops, best of 3: 70.6 µs per loop
In [15]: %timeit ' '.join('newword' for _ in xrange(len(sentence.split())))
10000 loops, best of 3: 30.2 µs per loop
Und join
ist eigentlich faster when you hand it a list, also ' '.join(['newword' for _ in xrange(len(sentence.split()))])
sollte zu einigen Leistungsverbesserungen führen (es speichert das Ergebnis in meinen informellen %timeit
Tests, also habe ich es nicht aufgenommen)
Was würde 'sentence.replace (*," newword ")' zurück? – vaultah
Sagen wir "Satz =" Hallo Welt "', dann sollte es zurückkehren "Satz =" newword newword "' – anquadros
Versuchen Sie 'sentence = '' .join (['newword'] * len (sentence.split()))' – vaultah