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

Python 문자열 연결을 사용하는 세 가지 방법과 효율성 및 적용 가능한 시나리오에 대한 자세한 소개

高洛峰
高洛峰원래의
2017-03-19 15:27:161422검색

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: 문자열 형식화, 이 방법은 매우 일반적으로 사용됩니다. 이 방법도 권장합니다

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

比较对象:加号连接 VS join连接
python版本: python2.7
系统环境:CentOS

실험 1:

# -*- 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.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'
    print time() - t
def method2():
    t = time()
    for i in xrange(100000):
        s = ''.join(['pythontab','pythontab','pythontab','pythontab'])
    print time() -t
method1()
method2()

결과:

0.0265691280365
0.0522091388702

위의 두 가지 실험이 나타났습니다. 완전히 다른 결과가 얻어졌습니다. 두 실험의 유일한 차이점은 문자열 연결 수입니다.

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

위 내용은 Python 문자열 연결을 사용하는 세 가지 방법과 효율성 및 적용 가능한 시나리오에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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