2

重複の可能性:
Python連結文字列とリスト

文字列とリストを連結することは可能ですか?

次のコードはエラーの原因になります。TypeError: not enough arguments for format string

t = ["a", "b", "c"]
s = "%s.%s.%s" % t
4

4 に答える 4

3

リストを次のようにタプルに変換すると、これは機能する可能性があります。

t = ["a", "b", "c"]
s = "%s.%s.%s" % tuple(t)

ただし、Python文字列にはメソッド.joinが組み込まれているため、リストが大きくなった場合は、次のように処理できます。

'.'.join(t)

これが「Pythonの方法」です。文字列で+演算子を使用することは避け、常に.joinとフォーマット文字列を使用する必要があります。これは、Python文字列(およびタプル)が可変オブジェクトではないためです。

"abc" + "cde"

Pythonは、新しい文字列を格納するために新しいメモリを割り当てる必要があります。

これであなたの質問が解決したことを願っています

于 2013-01-09T02:45:51.680 に答える
0

あなたがやろうとしていることを私が理解しているなら、そのstr.join方法が解決策になるでしょう:

'.'.join(t)
>>> "a.b.c"
于 2013-01-09T02:46:20.767 に答える
0

もしあなたがただ

t [0] + t [1] ... + t?

于 2013-01-09T02:47:07.367 に答える
0

新しい文字列フォーマットでそれを行うこともできます:

t = ["a", "b", "c"]
s = "{}.{}.{}".format(*t)
于 2013-01-09T02:49:51.707 に答える