我想说的是: [1,2,3,4] [len / 2]其中len指的是这个未命名列表的长度。
有没有办法在python中执行此操作?
答案 0 :(得分:7)
要回答您的问题,如果事先没有列表,则无法执行此操作。但是你可以这样做:
>>> l = [1,2,3,4]
>>> l[len(l)/2]
3
答案 1 :(得分:1)
我认为这样的东西不可能开箱即用。但是更多的pythonic方式无论如何都会让你的想法更加精确。为什么不这样写:
def middle(*items):
return items[len(items)/2]
print middle(1,2,3,4)
答案 2 :(得分:0)
只是为了好玩
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的回答赢了。