在询问this question之后,我扩展了已接受的答案,使其适用于二维列表:
class List(list):
def __call__(self, i):
def call(j):
return self[i][j]
return call
三维列表:
class List(list):
def __call__(self, i):
def call2(j):
def call3(k):
return self[i][j][k]
return call3
return call2
但是对于n维列表,这个类是如何实现的呢?你知道吗
如果索引值本身是^{} type ,则可以返回“callable list”类型:
这确保了可以用
[..]
索引语法处理的任何内容现在也可以用(..)
调用语法处理。你知道吗我排除了字符串;这些也是序列,但您可能不想将其扩展到那些值。你知道吗
演示:
相关问题 更多 >
编程相关推荐