2017-01-24 9 views
1

파이썬에서 URL 문자열을 만드는 데 도움이되는 짧은 메소드가 있지만 파이썬 적 방법으로 배우고 싶습니다.파이썬에서 동일한 문자열에 텍스트를 추가하는 방법

for url in some_list: 
    url = constant_prefix + url 

내가 파이썬에서 + = 사용할 수 어딘가에 보았다, 그러나 나는 더 나은 방법이있을 상상 : 여기에 내가 가진 것입니다. 나는 단지 일부 문자열을 추가하고 결과를 동일한 변수에 다시 저장할 수 있기를 바랍니다.

+0

가능한 중복 파이썬에서 문자열을 연결하는 기본 방법?] (http://stackoverflow.com/questions/12169839/which-is-the-preferred-way-to-concatenate-a-string-in-python) –

답변

0

내가 같은 질문으로 자신을 요청했습니다 그리고 내가 찾은 최고의 옵션을 사용하는 것입니다 str.format :

for url in some_list: 
    url = "{}{}".format(constant_prefix, url) 

아래 목록 사용 루프에있는 URL을 수정 을 원하는 경우 :

for index, url in enumerate(some_list): 
    some_list[index] = "{}{}".format(constant_prefix, url) 

문자열 형식에 대한 자세한 내용은 SO Python string formatting: % vs. .format을 참조하십시오.

행운을 빈다!

3

유일한 방법은 목록의 모든 요소를 ​​재 할당하는 것입니다. 여기 예를 들어 가장 간단한 방법 : 장소에 문자열을 업데이트 할 수있는 방법이 없습니다 그래서 파이썬 문자열에서

some_list = [constant_prefix + url for url in some_list] 

는 불변, 당신은 다른 문자열로 교체해야합니다.

+0

CPython은 문자열 http://stackoverflow.com/questions/25503703/why-is-variable1-variable2-much-faster-than-variable1-variable1-variable2 –

+0

@Chris_Rands는 파이썬 자체에 의해 백그라운드에서 적용된 최적화입니다.이 최적화는 문자열에 대한 다른 미결 참조가없는 경우에만 발생합니다. 개념적 관점에서 보면 새로운 문자열을 만드는 것과 동일합니다. –

1

문자열은 불변입니다. 문자열을 참조하는 변수를 변경하여 문자열을 참조하지만 실제로는 str 객체를 수정하지 마십시오.

x = "Hello"  # x references the "Hello" string 
x = x + " World!" # x references a NEW "Hello World!" string 

"Hello"을 유지하는 실제 문자열 개체는 변경되지 않습니다. 그것은 다른 문자열 개체에 대해서만 교환됩니다.

목록의 문자열을 수정할 수 없으므로 (불가능) 새 문자열 목록의 항목을 변경해야합니다.

for index, url in enumerate(some_list): 
    some_list[index] = constant_prefix + url 

더 이상 사용하지 않는 오래된 문자열 개체는 삭제되고 목록의 새 문자열로 대체됩니다.

이전 버전에서는 반복 루프 외부의 영향없이 url 변수 만 수정했습니다. 이해 사용하여 새 목록 만들기 :

마크 랜섬은 그의 대답에, 더 파이썬 방법 제안

new_urls = [constant_prefix + url for url in original_urls] 

가 그에게 upvote에 보내기를 =)이 어느 [의

+0

자세한 답변 해 주셔서 감사합니다! – user3270760

+0

사실 CPython *은 이러한 간단한 경우에 대한 문자열을 변형합니다 * http://stackoverflow.com/questions/25503703/why-is-variable1-variable2-much-faster-than-variable1-variable1-variable2 –

관련 문제