我有一段代碼將採取一個字符串,並重復它,使字符串的長度爲x。優化:Python字符串重複
>>> import math
>>> def repeat(data, length):
return (data * int(math.ceil(float(length)/len(data))))[:length]
>>> repeat("Hello World", 22)
'Hello WorldHello World'
>>> repeat("Hello World", 20)
'Hello WorldHello Wor'
有什麼辦法可以優化它嗎? 我需要這個操作很快,因爲它會用很多。 請注意,這也需要使用列表。
只是想知道。你真的確定'repeat(「Hello World」,22)'比''Hello World'更快*' – Wolph 2010-06-20 01:46:49
@WoLpH:他正在解決一個稍微不同的問題。他希望「Hello World」(或任何字符串)根據需要重複多次,但不要超過N個字符的長度。與'string * n'不一樣。 – 2010-06-20 01:54:07
@Brian:事實上,在這種情況下,我的問題是無效的:) 我看不到優化這個更遠的選擇。簡單地對它進行基準測試就足夠了。 – Wolph 2010-06-20 02:13:09