Programing

Python에서 비어 있지 않은 경우 여러 문자열 결합

lottogame 2020. 12. 10. 08:25
반응형

Python에서 비어 있지 않은 경우 여러 문자열 결합


네 개의 문자열이 있으며 그중 하나는 비어있을 수 있습니다. 나는 그들 사이에 공백이있는 하나의 문자열로 결합해야합니다. 내가 사용하는 경우 :

new_string = string1 + ' ' + string2 + ' ' + string3 + ' ' + string4

비어있는 경우 결과는 새 문자열의 시작 부분에 string1공백이됩니다. 또한, 나는 경우 세 개의 빈 공백이 string2string3비어 있습니다.

필요하지 않을 때 공백없이 쉽게 가입 할 수있는 방법은 무엇입니까?


>>> strings = ['foo','','bar','moo']
>>> ' '.join(filter(None, strings))
'foo bar moo'

호출 None에서 사용하여 filter()모든 허위 요소를 제거합니다.


문자열에 선행 / 후행 공백이 없다는 것을 알고있는 경우 :

>>> strings = ['foo','','bar','moo']
>>> ' '.join(x for x in strings if x)
'foo bar moo'

그렇지 않으면:

>>> strings = ['foo ','',' bar', ' ', 'moo']
>>> ' '.join(x.strip() for x in strings if x.strip())
'foo bar moo'

문자열에 선행 / 후행 공백이있는 경우 더 열심히 작업해야 할 수 있습니다. 당신이 실제로 가지고있는 것이 무엇인지 명확히하십시오.


strings = ['foo','','bar','moo']
' '.join([x for x in strings if x is not ''])
'foo bar moo'

참고 URL : https://stackoverflow.com/questions/8626694/joining-multiple-strings-if-they-are-not-empty-in-python

반응형