首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串重复到一定长度

将字符串重复到一定长度
EN

Stack Overflow用户
提问于 2010-08-03 03:26:44
回答 12查看 286.8K关注 0票数 230

重复特定长度的字符串的有效方法是什么?例如:repeat('abc', 7) -> 'abcabca'

下面是我当前的代码:

代码语言:javascript
复制
def repeat(string, length):
    cur, old = 1, string
    while len(string) < length:
        string += old[cur-1]
        cur = (cur+1)%len(old)
    return string

有没有更好的(更有蟒蛇风格的)方法来做到这一点?也许可以使用列表理解?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-08-03 03:30:36

代码语言:javascript
复制
def repeat_to_length(string_to_expand, length):
   return (string_to_expand * ((length/len(string_to_expand))+1))[:length]

对于python3:

代码语言:javascript
复制
def repeat_to_length(string_to_expand, length):
    return (string_to_expand * (int(length/len(string_to_expand))+1))[:length]
票数 81
EN

Stack Overflow用户

发布于 2013-11-13 00:45:50

这是相当的pythonic式的:

代码语言:javascript
复制
newstring = 'abc'*5
print newstring[0:6]
票数 66
EN

Stack Overflow用户

发布于 2010-08-03 03:50:43

代码语言:javascript
复制
def rep(s, m):
    a, b = divmod(m, len(s))
    return s * a + s[:b]
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3391076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档