是否可以从索引中引用当前列表的长度?

2024-04-20 15:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想说的是: [1,2,3,4][len/2]其中len指未命名列表的长度。你知道吗

在python中有这样做的方法吗?你知道吗


Tags: 方法列表len未命名
3条回答

我不认为那种事是现成的。但更具Python风格的方法是让你的想法更清楚。为什么不这样写:

def middle(*items):
    return items[len(items)/2]

print middle(1,2,3,4)

只是为了好玩

def half(a):
    return len(a) / 2 

class _(object):
    def __init__(self, *args):
        self.l = list(args)
    def __getitem__(self, idx):
        if type(idx) == int:
            return self.l[idx]
        else:
            return self.l[idx(self.l)]

print _(1, 2, 3, 4)[half]

尽管@Mike Lewis的答案赢了。你知道吗

为了回答您的问题,您不能在没有列表的情况下执行此操作。但是,您可以简单地执行以下操作:

>>> l = [1,2,3,4]
>>> l[len(l)/2]
3

相关问题 更多 >