Python문자열 연결에는 일반적으로 세 가지 방법이 있습니다:
website = 'python' + 'tab' + '.com'
listStr = ['python', 'tab', '.com'] website = ''.join(listStr)
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!