파이썬에서 목록을 공백으로 구분 된 문자열로 어떻게 변환 할 수 있습니까?
예를 들어 다음 목록을 변환하고 싶습니다.
my_list = [how,are,you]
문자열로 "how are you"
공간이 중요합니다. 나는 howareyou
지금까지의 내 시도와 같이 얻고 싶지 않습니다.
"".join(my_list)
답변
" ".join(my_list)
빈 문자열이 아닌 공백으로 조인해야합니다 …
답변
" ".join(my_list)
문자열 과 비교할 때 거의 쓸모가 없지만 대체로 이것을 던질 것 입니다. 문자열이 아닌 경우 (예 : int 배열)이 방법이 더 좋을 수 있습니다.
" ".join(str(item) for item in my_list)
답변
Non String의 경우 list
다음과 같이 할 수도 있습니다.
" ".join(map(str, my_list))
답변
따라서 원하는 출력을 얻으려면 먼저 함수가 어떻게 작동하는지 알아야합니다.
join()
python 문서에 설명 된 메서드 의 구문 은 다음과 같습니다.
string_name.join(iterable)
주의 할 사항 :
string
의 요소와 연결된를 반환합니다iterable
. 요소 사이의 구분자는string_name
.- 의 문자열이 아닌 값
iterable
은TypeError
이제 공백 을 추가 하려면 string_name
을 a " "
또는 ' '
둘 다로 교체하고 iterable
연결하려는을 배치하면 됩니다.
따라서 우리의 함수는 다음과 같습니다.
' '.join(my_list)
그러나 white spaces
요소 사이에 특정 수를 추가 하려면 iterable
?
다음을 추가해야합니다.
str(number*" ").join(iterable)
여기서는 number
사용자 입력이됩니다.
예를 들어 number=4
.
그리고, 출력의 str(4*" ").join(my_list)
것 how are you
4 공백이있는 모든 단어들 사이에 있도록.
답변
"".join([i for i in my_list])
요청한대로 작동합니다!
답변
다음과 같이 목록 자체의 항목에 공백을 추가하지 않는 이유는 무엇입니까?
list = ["how ", "are ", "you "]