重复特定长度的字符串的有效方法是什么?例如: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
有没有更好的(更有蟒蛇风格的)方法来做到这一点?也许可以使用列表理解?
发布于 2010-08-03 03:30:36
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]
发布于 2013-11-13 00:45:50
这是相当的pythonic式的:
newstring = 'abc'*5
print newstring[0:6]
发布于 2010-08-03 03:50:43
def rep(s, m):
a, b = divmod(m, len(s))
return s * a + s[:b]
https://stackoverflow.com/questions/3391076
复制相似问题