>백엔드 개발 >파이썬 튜토리얼 >Python에서 문자열 연결을 구현하는 세 가지 방법과 효율성 및 적용 가능한 시나리오에 대한 자세한 설명

Python에서 문자열 연결을 구현하는 세 가지 방법과 효율성 및 적용 가능한 시나리오에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-02-11 13:00:261640검색

이 글은 Python에서 문자열을 연결하는 세 가지 방법과 그 효율성, 그리고 적용 가능한 시나리오에 대한 자세한 설명을 주로 소개하며, 관심 있는 친구들이 참고할 수 있습니다.

파이썬 문자열을 연결하는 방법은 일반적으로 세 가지가 있습니다.

방법 1: 더하기(+) 연산자를 통해 직접 연결


website = 'python' + 'tab' + '.com'


방법 2: 조인 방법


listStr = ['python', 'tab', '.com'] 
website = ''.join(listStr)


방법 3: 바꾸기


website = '%s%s%s' % ('python', 'tab', '.com')


세 가지 방법을 더 이야기해보자 차이점

방법 1은 사용이 간단하고 직접적이지만 인터넷에서 많은 사람들이 이 방법이 비효율적이라고 말합니다

파이썬에서 문자열 연결에 +를 사용하는 것이 비효율적인 이유는 파이썬에서 문자열을 사용하기 때문입니다. +를 사용하여 두 개의 문자열을 연결하면 새로운 문자열이 생성되며, 계속해서 추가되는 문자열이 많을 경우에는 다시 메모리를 신청해야 합니다( a+b+c+d). +e+f+...), 낮은 효율성은 불가피

방법 2는 사용하기가 약간 복잡하지만 여러 문자를 연결할 때 효율적이며 메모리 적용 한 번만 발생합니다. 그리고 목록의 문자를 연결하는 경우 이 방법이 첫 번째 선택이어야 합니다

방법 3: 문자열 형식화, 이 방법은 매우 일반적으로 사용됩니다. 이 방법도 권장합니다

다음 문자열 연결의 효율성을 설명하기 위해 실험이 사용되었습니다.

비교 대상: plus 연결 VS Join 연결

Python 버전: python2.7

시스템 환경: CentOS

실험 1:


아아앙


결과:

0.641695976257

0.341440916061

실험 2:


# -*- coding: utf-8 -*-

from time import time

def method1():

  t = time()

  for i in xrange(100000):

    s = 'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'

  print time() - t

def method2():

  t = time()

  for i in xrange(100000):

    s = ''.join(['pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab'])

  print time() -t

method1()

method2()


결과:

0.0265691280365

0.0522091388702

위 두 실험의 결과는 완전히 다릅니다. 두 실험의 유일한 차이점은 문자열 연결 수입니다.

결론: 여러 개의 문자열이 연속적으로 연결될 때 더하기 기호 연결의 효율성이 낮습니다. 연결 수가 적으면 조인 연결보다 더하기 기호 연결의 효율성이 높습니다

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 또한 모든 분들이 PHP 중국어 웹사이트를 지지해 주시길 바랍니다.

파이썬의 문자열 연결 3가지 방법과 효율성, 적용 시나리오에 대한 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.