web-dev-qa-db-ja.com

Pythonでリストをスペースを含む文字列に変換するにはどうすればよいですか?

Pythonでリストをスペースで区切られた文字列に変換するにはどうすればよいですか?

たとえば、私はこのリストを変換したい:

my_list = [how,are,you]

文字列"how are you"

スペースは重要です。これまで使用してきた試みのようにhowareyouを取得したくない

"".join(my_list)
72
user1653402
" ".join(my_list)

空の文字列ではなくスペースで結合する必要があります...

153
Joran Beasley

文字列の" ".join(my_list)と比較するとほとんど役に立たないにもかかわらず、私はこれを単なる代替手段として投入します。文字列以外(intの配列など)の場合、これはより適切な場合があります。

" ".join(str(item) for item in my_list)
13
Polaris

非文字列listの場合、このようにすることもできます

" ".join(map(str, my_list))
2
Athar

そのため、目的の出力を達成するには、まず関数の動作を知る必要があります。

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つの空白があります。

0
Abhay Tiwari