Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีทำซ้ำสตริงให้ยาวตามที่ต้องการใน Python อย่างมีประสิทธิภาพ

หากต้องการให้สตริงซ้ำจนได้ความยาว n ตัวอักษร ให้ทำซ้ำสตริงทั้งหมด n/len(s) ครั้ง แล้วเพิ่มตัวอักษร n%len(s) ตัวท้ายสุด ตัวอย่าง:

def repeat_n(string, n):
    l = len(string)
    full_rep = n // l
    # สร้างสตริงด้วยการซ้ำเต็มจำนวน
    ans = ''.join(string for i in range(full_rep))
    # เพิ่มตัวอักษรที่เหลือท้ายสุด
    return ans + string[:n % l]

repeat_n('asdf', 10)

ผลลัพธ์:

'asdfasdfas'

อีกวิธีใช้ตัวดำเนินการ * บนสตริงเพื่อทำซ้ำ ตัวอย่าง:

def repeat_n(string_to_expand, n):
    return (string_to_expand * ((n // len(string_to_expand)) + 1))[:n]

repeat_n('asdf', 10)

ผลลัพธ์:

'asdfasdfas'