因为没有更好的词,我选择了这个标题。在
我想要的是能够做这样的事情:
>>> from random import randint
>>> fruits = [
... "Orange",
... "Banana",
... f"{randint(2,5)} Cherries",
... ]
>>> fruits[2]
'3 Cherries'
>>> fruits[2]
'5 Cherries'
>>> fruits[2]
'2 Cherries'
但是,字符串中的文字表达式在创建列表时会被计算一次,每次访问它时都会得到相同的结果。在
我在想,除了编写一些复杂的边缘案例处理(毕竟我们是程序员,谁不喜欢编写漂亮的代码和优雅别致的代码?)。 我谈到边缘案例处理是因为我的49个字符串中只有6个需要这种“特殊”行为。在
到目前为止,我尝试的是从randint调用中生成一个lambda函数,但这没有帮助;结果是一样的。 也许这是一个懒惰评估的例子,但我需要一点关于如何(或是否)的指导与列表一起使用。在
把lambda放在一个列表中一开始听起来不错,但是之后你必须调用列表的这个特殊(或全部)索引。你不能重复列表,你不能对列表排序。。。在
创建一个为您提供列表的函数更加容易:
输出:
^{pr2}$每一张单子上的樱桃数量都是“固定的”,但你可以这样做:
获取维生素:
如果您希望某些项的是文本的,但有些是可调用的,则可以创建您自己的
list
版本:你在正确的轨道上,想要一辆lambda:
有很多方法可以省去
()
,但这可能不值得。在相关问题 更多 >
编程相关推荐