1. ホーム
  2. string

[解決済み】文字列を一定の長さまで繰り返す

2022-04-05 12:56:31

質問

ある文字列をある長さまで繰り返す効率的な方法は何ですか?例 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]