string.format() に渡される引数のタプルを返します。
-
22-08-2019 - |
質問
現在、Python でメソッドを取得して、文字列フォーマッタにプラグインする 0、1、または 2 つの文字列のリストを返し、それらを文字列メソッドに渡そうとしています。私のコードは次のようになります:
class PairEvaluator(HandEvaluator):
def returnArbitrary(self):
return ('ace', 'king')
pe = PairEvaluator()
cards = pe.returnArbitrary()
print('Two pair, {0}s and {1}s'.format(cards))
このコードを実行しようとすると、コンパイラは IndexError を返します。タプルインデックスが範囲外です。
戻り値を引数として渡すにはどのように構造化すればよいですか .format()
?
解決
print('Two pair, {0}s and {1}s'.format(*cards))
D あなただけの星が欠落しています
他のヒント
Python 2.6 での導入時点では、% 演算子よりも形式が優先されます。 http://docs.python.org/2/library/stdtypes.html#str.format
また、書式文字列を変更するよりも、* -- を使用してタプルを解凍するか、* -- を使用して辞書を解凍するだけの方がはるかに簡単です。
これは単一の形式の入力は、カードのない内容を印刷するように「カード」を使用しようとします。
のようなものを試してみてください。
print('Two pair, %ss and %ss' % cards)
所属していません StackOverflow