返回要提供给 string.format() 的参数元组
-
22-08-2019 - |
题
目前,我正在尝试在 Python 中获取一种方法来返回零、一个或两个字符串的列表,以插入字符串格式化程序,然后将它们传递给字符串方法。我的代码看起来像这样:
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