2024-04-24 11:19:29 发布
网友
Python中是否有类似“无限字典”的东西?在
更确切地说,是不是有什么东西 -我可以像字典一样输入值, -但也可能是一个函数,它告诉我如何将键映射到值, -也可能是把一个键映射到(有限)一组键然后给出相应值的东西? 从另一个角度来说,我想要的是以下“东西”: 我以一种方式初始化它(给出值、函数等等),然后它只给每个键一个值(根据请求)。在
你需要的是一个“函数”。在
现在,用一个不那么讽刺的话来说:我不知道你到底想达到什么目的,但这里有一个例子:
您需要一段以算术级数返回第n个元素的代码。您可以使用以下函数进行此操作:
def progression(first_element, ratio): def nth_element(n): return n*ratio + first_element return nth_element my_progression = progression(2, 32) print my_progression(17) # prints 546
例如,如果您需要一个保留状态的函数,则可以对其进行扩展。在
希望这有帮助
您需要使用特殊方法__getitem__(self,key)创建一个类,该方法返回该键的适当值。在
__getitem__(self,key)
如果您想要现有键的正常行为,以及不存在的键的特殊行为,可以调用__missing__方法来处理缺少的键。在
__missing__
class funny_dict(dict): def __missing__(self, key): return "funny" * key d = funny_dict() d[1] = "asdf" d[3] = 3.14 for i in range(5): print(i, d[i]) print(d)
输出:
你需要的是一个“函数”。在
现在,用一个不那么讽刺的话来说:我不知道你到底想达到什么目的,但这里有一个例子:
您需要一段以算术级数返回第n个元素的代码。您可以使用以下函数进行此操作:
例如,如果您需要一个保留状态的函数,则可以对其进行扩展。在
希望这有帮助
您需要使用特殊方法
__getitem__(self,key)
创建一个类,该方法返回该键的适当值。在如果您想要现有键的正常行为,以及不存在的键的特殊行为,可以调用
__missing__
方法来处理缺少的键。在输出:
^{pr2}$相关问题 更多 >
编程相关推荐