Pythonでリストをスペースで区切られた文字列に変換するにはどうすればよいですか?
たとえば、私はこのリストを変換したい:
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)
非文字列list
の場合、このようにすることもできます
" ".join(map(str, my_list))
そのため、目的の出力を達成するには、まず関数の動作を知る必要があります。
pythonのドキュメントで説明されているjoin()
メソッドの構文は次のとおりです。
string_name.join(iterable)
注意すべきこと:
string
の要素と連結されたiterable
を返します。 string_name
である要素間のセパレータ。iterable
の文字列以外の値は、TypeError
を発生させますここで空白を追加するには、string_name
を" "
または' '
に置き換えるだけで、両方とも機能し、iterable
連結したい。
したがって、関数は次のようになります。
' '.join(my_list)
しかし、iterable
内の要素の間に特定の数のwhite spaces
を追加したい場合はどうでしょうか?
これを行う必要があります。
str(number*" ").join(iterable)
ここで、number
はユーザー入力になります。
したがって、たとえばnumber=4
の場合。
次に、str(4*" ").join(my_list)
の出力はhow are you
になるため、各Wordの間に4つの空白があります。