Python 문자열 추가 (String Append)

Python 문자열 개체는 변경할 수 없습니다. 따라서 + 연산자를 사용하여 두 문자열을 연결할 때마다 새 문자열이 생성됩니다. 많은 문자열을 추가해야 하는 경우 + 연산자를 사용하면 최종 결과를 얻기 전에 불필요하게 많은 임시 문자열이 생성됩니다.

Python 문자열 추가

문자열을 ‘n’ 번 연결하는 함수를 살펴보겠습니다.

def str_append(s, n):
    output = ''
    i = 0
    while i < n:
        output += s
        i = i + 1
    return output

+ 연산자의 사용법을 보여주기 위해 이 함수를 정의하고 있습니다. 나중에 timeit 모듈을 사용하여 성능을 테스트할 것입니다. 단순히 문자열을 ‘n’ 번 연결하려는 경우 를 사용하여 쉽게 수행할 수 있습니다 s = 'Hi' * 10.

문자열 추가 작업을 수행하는 또 다른 방법은 목록을 만들고 목록에 문자열을 추가하는 것입니다. 그런 다음 string join() 함수를 사용하여 병합하여 결과 문자열을 얻습니다.

def str_append_list_join(s, n):
    l1 = []
    i = 0
    while i < n:
        l1.append(s)
        i += 1
    return ''.join(l1)

이러한 메서드가 예상대로 작동하는지 테스트해 보겠습니다.

if __name__ == "__main__":
    print('Append using + operator:', str_append('Hi', 10))
    print('Append using list and join():', str_append_list_join('Hi', 10))
    # use below for this case, above methods are created so that we can
    # check performance using timeit module
    print('Append using * operator:', 'Hi' * 10)

산출:

Append using + operator: HiHiHiHiHiHiHiHiHiHi
Append using list and join(): HiHiHiHiHiHiHiHiHiHi
Append using * operator: HiHiHiHiHiHiHiHiHiHi

Python에서 문자열을 추가하는 가장 좋은 방법

파일 에 두 가지 방법이 모두 정의되어 있습니다 string_append.py. timeit 모듈을 사용하여 성능을 확인합시다.

$ python3.7 -m timeit --number 1000 --unit usec 'import string_append' 'string_append.str_append("Hello", 1000)' 
1000 loops, best of 5: 174 usec per loop
$ python3.7 -m timeit --number 1000 --unit usec 'import string_append' 'string_append.str_append_list_join("Hello", 1000)'
1000 loops, best of 5: 140 usec per loop

$ python3.7 -m timeit --number 1000 --unit usec 'import string_append' 'string_append.str_append("Hi", 1000)' 
1000 loops, best of 5: 165 usec per loop
$ python3.7 -m timeit --number 1000 --unit usec 'import string_append' 'string_append.str_append_list_join("Hi", 1000)'
1000 loops, best of 5: 139 usec per loop
파이썬 문자열 추가, 파이썬 문자열에 추가

요약

문자열이 거의 없는 경우 모든 방법을 사용하여 문자열을 추가할 수 있습니다. 가독성 관점에서 + 연산자를 사용하는 것이 소수의 문자열에 더 좋아 보입니다. 그러나 많은 문자열을 추가해야 하는 경우 list 및 join() 함수를 사용해야 합니다.

GitHub 리포지토리 에서 전체 Python 스크립트와 더 많은 Python 예제를 확인할 수 있습니다 .

Leave a Comment

Verified by MonsterInsights