函数从Python中的列表返回元素

2024-04-29 11:24:55 发布

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

我有一个功能:

def funky(a):
    c = [4,5,6]
    return c[a]

我想打电话给:

funky(0:1)

以及

funky(0,1)

得到同样的回答[4,5]。如何修改“funky”来实现这一点?你知道吗


Tags: 功能returndeffunky
3条回答

按原样输入slice(0,1)作为函数的参数。0:1永远不起作用,因为它不是一个可通过的参数。你知道吗

def funky(a,b):
    c = [4,5,6]
    return c[a:b+1]

你可以调用funky(0,1),但不能像funky(0:1 )那样调用。它不是有效参数。你知道吗

你可以像funky('0:1')那样打电话,因为。如果您需要接受这种类型的输入,请将其作为字符串输入,并使用split:

像这样

def funky(a):
        c = [4,5,6]
        x,y = map(int,a.split(':'))
        return c[x:y+1]

可以直接在列表上使用切片方法:

def funky(*a):
    c = [4,5,6]
    return c.__getitem__(*a)

print(funky(1, 3))
>>> [5, 6]

相关问题 更多 >