목록의 항목을 문자열로 연결
목록의 문자열 항목을 단일 문자열로 연결하는 더 간단한 방법이 있습니까? str.join()
기능을 사용할 수 있습니까 ?
예를 들어 이것은 입력 ['this','is','a','sentence']
이며 원하는 출력입니다this-is-a-sentence
sentence = ['this','is','a','sentence']
sent_str = ""
for i in sentence:
sent_str += str(i) + "-"
sent_str = sent_str[:-1]
print sent_str
사용 join
:
>>> sentence = ['this','is','a','sentence']
>>> '-'.join(sentence)
'this-is-a-sentence'
파이썬 목록을 문자열로 변환하는보다 일반적인 방법은 다음과 같습니다.
>>> my_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> my_lst_str = ''.join(map(str, my_lst))
>>> print(my_lst_str)
'12345678910'
초보자가 join이 문자열 메소드 인 이유 를 아는 것이 매우 유용합니다.
처음에는 매우 이상하지만 이후에는 매우 유용합니다.
결합의 결과는 항상 문자열이지만 결합 할 오브젝트는 여러 유형 (제너레이터, 목록, 튜플 등) 일 수 있습니다.
.join
메모리를 한 번만 할당하기 때문에 더 빠릅니다. 클래식 연결보다 낫습니다. 자세한 설명
일단 배우면 매우 편안하며 괄호를 추가하기 위해 이와 같은 트릭을 수행 할 수 있습니다.
>>> ",".join("12345").join(("(",")"))
'(1,2,3,4,5)'
>>> lista=["(",")"]
>>> ",".join("12345").join(lista)
'(1,2,3,4,5)'
하지만 @Burhan 칼리드의 대답은 좋다, 나는이 같은 더 이해할 수 있다고 생각 :
from str import join
sentence = ['this','is','a','sentence']
join(sentence, "-")
join ()의 두 번째 인수는 선택 사항이며 기본값은 ""입니다.
편집 :이 함수는 파이썬 3에서 제거되었습니다
파이썬의 내장 기능인 reduce를 사용할 수도 있습니다 :-
functools에서 가져 오기 감소
문장 = [ 'this', 'is', 'a', '문장]]
out_str = str (감소 (lambda x, y : x + "-"+ y, 문장))
인쇄 (out_str)
이게 도움이 되길 바란다 :)
참고 URL : https://stackoverflow.com/questions/12453580/concatenate-item-in-list-to-strings
'Programming' 카테고리의 다른 글
라디오 버튼을 선택 해제하는 방법? (0) | 2020.02.16 |
---|---|
문자열 목록에서 쉼표로 구분 된 문자열을 어떻게 만드시겠습니까? (0) | 2020.02.16 |
HashMap에서 삽입 순서를 유지하는 방법은 무엇입니까? (0) | 2020.02.16 |
프로그래밍 방식으로 WPF 응용 프로그램을 종료하려면 어떻게합니까? (0) | 2020.02.16 |
C # Guid 값을 만드는 방법? (0) | 2020.02.16 |