문자열 연결 성능 비교: = vs. ''.join()
이전 답변에서 이 주제를 다루던 중 궁금해졌습니다. 문자열 연결을 위한 = 연산자와 ''.join() 메서드 간의 성능 차이에 대해 알아봅니다. 그래서 직접 비교를 해보기로 했습니다.
Efficient String Concatenation 결과에 따르면 ''.join()은 = 연산자보다 속도 면에서 훨씬 뛰어납니다. 이러한 불일치는 Python 문자열의 불변성으로 인해 발생할 수 있습니다. 문자열은 제자리에서 수정할 수 없으므로 문자열을 연결하려면 새 문자열을 생성해야 하며 이는 상당한 계산 오버헤드를 수반합니다.
다음 코드 조각은 성능 차이를 보여줍니다.
<code class="python">def method1(): out_str = '' for num in xrange(loop_count): out_str += 'num' return out_str def method4(): str_list = [] for num in xrange(loop_count): str_list.append('num') return ''.join(str_list)</code>
이러한 방법이 완전히 동일하지는 않지만(방법 4는 요소를 결합하기 전에 목록에 추가) 성능 차이를 합리적으로 정확하게 표현합니다.
결과를 시각화하면 문자열 결합이 분명해집니다. 연결보다 훨씬 빠릅니다:
[test_20k.gif 이미지]
위 내용은 Python 문자열 연결: \'\'.join()은 언제 =보다 빠릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!