将字符串重复到一定长度的有效方法是什么?例如:repeat('abc', 7) -> 'abcabca'
repeat('abc', 7) -> 'abcabca'
这是我当前的代码:
def repeat(string, length): cur, old = 1, string while len(string) < length: string += old[cur-1] cur = (cur+1)%len(old) return string
有没有更好(更pythonic)的方法来做到这一点?也许使用列表理解?
def repeat_to_length(string_to_expand, length): return (string_to_expand * ((length/len(string_to_expand))+1))[:length]
对于python3:
def repeat_to_length(string_to_expand, length): return (string_to_expand * (int(length/len(string_to_expand))+1))[:length]