4

できます

string="%s"*3
print string %(var1,var2,var3)

しかし、vars を別の変数に入れることができないため、アプリ ロジックを使用してオンザフライで vars のリストを作成できます。例えば

if condition:
  add a new %s to string variable
  vars.append(newvar)

else:
  remove one %s from string
  vars.pop()
print string with placeholders

python 2.6 でこれを行う方法についてのアイデアはありますか?

4

3 に答える 3

6

これはどう?

print ("%s" * len(vars)) % tuple(vars)

とはいえ、それはかなりばかげたやり方です。すべての変数を 1 つの大きな文字列にまとめるだけの場合は、次のようにする方がよいでしょう。

print ''.join(str(x) for x in vars)

これには少なくとも Python 2.4 が必要です。

于 2010-08-12T14:49:26.443 に答える
3

リストを使用して文字列を追加/削除してから、印刷する前に "".join(yourlist)

>>> q = []
>>> for x in range(3):
    q.append("%s")
>>> "".join(q)
'%s%s%s'
>>> print "".join(q) % ("a","b","c")
abc
于 2010-08-12T14:49:42.877 に答える
1
n = 0
if condition:
  increment n
  vars.append(newvar)

else:
  decrement n
  vars.pop()

string = "%s" * n
print string with placeholders

ただし、変数を結合するだけであれば、文字列の書式設定は必要ありません。なぜしないのですか:

"".join( map( str, vars ) )
于 2010-08-12T14:49:39.523 に答える