답변:
사용 join
:
>>> sentence = ['this','is','a','sentence']
>>> '-'.join(sentence)
'this-is-a-sentence'
sentence.join(" ")
역 작업이이므로 작동 할 것으로 예상 됩니다 list.split(" ")
. 이것이 목록에 대한 파이썬의 메소드에 추가 될지 아십니까?
list.join
임의의 목록에 부적합 할 수. 다른 한편으로,의 인수는 str.join
단순히 목록이 아니라 "반복 가능한"문자열 시퀀스 일 수 있습니다. 이해할 수있는 유일한 것은 내장 함수입니다 join(list, sep)
. string
당신이 정말로 원한다면 (기본적으로 쓸모없는) 모듈에 하나 있습니다.
' '.join(['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'
map(str, my_lst)
목록을 열거하지 않고 충분합니다 =)
int
이지만 문자열로 표현할 수있는 모든 유형이 될 수 있습니다.
' '.join(map(lambda x: ' $'+ str(x), my_lst))
반환'$1 $2 $3 $4 $5 $6 $7 $8 $9 $10'
join이 string 메소드 인 이유 를 초보자가 아는 것이 매우 유용합니다 .
처음에는 매우 이상하지만 이후에는 매우 유용합니다.
결합 결과는 항상 문자열이지만 결합 할 오브젝트는 여러 유형 (제너레이터, 목록, 튜플 등) 일 수 있습니다.
.join
메모리를 한 번만 할당하기 때문에 더 빠릅니다. 기존 연결보다 낫습니다 ( 확장 된 설명 참조 ).
일단 배우면 매우 편안하며 괄호를 추가하기 위해 이와 같은 트릭을 수행 할 수 있습니다.
>>> ",".join("12345").join(("(",")"))
Out:
'(1,2,3,4,5)'
>>> list = ["(",")"]
>>> ",".join("12345").join(list)
Out:
'(1,2,3,4,5)'
하지만 @Burhan 칼리드의 대답은 좋다, 나는이 같은 더 이해할 수 있다고 생각 :
from str import join
sentence = ['this','is','a','sentence']
join(sentence, "-")
join ()의 두 번째 인수는 선택 사항이며 기본값은 ""입니다.
편집 :이 함수는 파이썬 3에서 제거되었습니다
우리는 또한 파이썬을 사용할 수 있습니다 reduce 함수를 :
from functools import reduce
sentence = ['this','is','a','sentence']
out_str = str(reduce(lambda x,y: x+"-"+y, sentence))
print(out_str)
join
무엇입니까?
def eggs(someParameter):
del spam[3]
someParameter.insert(3, ' and cats.')
spam = ['apples', 'bananas', 'tofu', 'cats']
eggs(spam)
spam =(','.join(spam))
print(spam)
'-'.join(sentence)