重複の可能性:
Python連結文字列とリスト
文字列とリストを連結することは可能ですか?
次のコードはエラーの原因になります。TypeError: not enough arguments for format string
t = ["a", "b", "c"]
s = "%s.%s.%s" % t
重複の可能性:
Python連結文字列とリスト
文字列とリストを連結することは可能ですか?
次のコードはエラーの原因になります。TypeError: not enough arguments for format string
t = ["a", "b", "c"]
s = "%s.%s.%s" % t
リストを次のようにタプルに変換すると、これは機能する可能性があります。
t = ["a", "b", "c"]
s = "%s.%s.%s" % tuple(t)
ただし、Python文字列にはメソッド.joinが組み込まれているため、リストが大きくなった場合は、次のように処理できます。
'.'.join(t)
これが「Pythonの方法」です。文字列で+演算子を使用することは避け、常に.joinとフォーマット文字列を使用する必要があります。これは、Python文字列(およびタプル)が可変オブジェクトではないためです。
"abc" + "cde"
Pythonは、新しい文字列を格納するために新しいメモリを割り当てる必要があります。
これであなたの質問が解決したことを願っています
あなたがやろうとしていることを私が理解しているなら、そのstr.join
方法が解決策になるでしょう:
'.'.join(t)
>>> "a.b.c"
もしあなたがただ
t [0] + t [1] ... + t?
新しい文字列フォーマットでそれを行うこともできます:
t = ["a", "b", "c"]
s = "{}.{}.{}".format(*t)