在 python 中,是否可以在访问列表中的项目时重复发生字符串格式化操作?
例如:
>>>from random import randint
>>>a = ["The random number is: {0}".format(randint(0,10))]
>>>print a[0]
The random number is: 3
>>>print a[0]
The random number is: 3
显然,它正在获取一个随机整数,格式化字符串并在首次定义列表时将其保存在列表中。抛开性能不谈,我想知道是否可以覆盖此行为。
我知道如果我看到这个问题,我会回答“你做错了”之类的回答,并会提供类似于以下答案的内容......
>>>a = ["The random number is: {0}"]
>>>print a[0].format(randint(0,10))
但是让我们假设这不是这个问题的解决方案。我真的很想定义格式并在列表本身中进行(如果可能的话)。
另一个例子:
a = ["The some sweet string: {0}".format(someFunction),
"Another {0} different string {1}".format(someFunctionTwo, someFunctionThree)]
其中 someFunction* 在每次调用时提供“随机”结果。
我知道这有点牵强,我可能不得不依赖已经提供的方法(感谢您的反馈)但是,我想我会试一试。
再次感谢。