有没有更有效的方式来扩展字符串?

3 python string loops

难道一个比较有效的方法来扩展字符串有人知道,例如fred,是字符串的长度plaintext-这样fred会变成fredfredf-比这个?

# key='fred', msg='plaintext'?

def keypad(key, msg):
    while len(key) < len(msg):
        key += key
    key = key[:len(msg)]
    return key
Run Code Online (Sandbox Code Playgroud)

Aus*_*tin 5

使用islice+ cycle来自itertools

from itertools import islice, cycle

key = 'fred'
msg = 'plaintext'

print(''.join(islice(cycle(key), len(msg))))
# fredfredf
Run Code Online (Sandbox Code Playgroud)