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

时间:2016-09-26 09:39:59

标签: python list

我有一个功能:

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

我希望能够致电:

funky(0:1)

funky(0,1)

得到相同的回应[4,5]。如何修改'funky'来做到这一点?

3 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

输入slice(0,1)作为函数的参数。 0:1将无法工作,因为它不是可通过的参数。

答案 2 :(得分: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]