相关疑难解决方法(0)

重复字符串到一定长度

将字符串重复到一定长度的有效方法是什么?例如: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
Run Code Online (Sandbox Code Playgroud)

有没有更好的(更pythonic)方式来做到这一点?也许使用列表理解?

python string repeat

185
推荐指数
9
解决办法
22万
查看次数

使用连接函数列出vs生成器理解速度

所以我从官方文档中得到了这些例子. https://docs.python.org/2/library/timeit.html

究竟是什么让第一个例子(生成器表达式)比第二个(列表理解)慢?

>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.8187260627746582
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.7288308143615723
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-2.7

10
推荐指数
1
解决办法
755
查看次数

标签 统计

python ×2

list-comprehension ×1

python-2.7 ×1

repeat ×1

string ×1