重复字符串一定长度
问题内容:
将字符串重复到一定长度的有效方法是什么?例如: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]