在Python中,是否可以在一个语句中串联列表索引?

2024-05-19 19:28:35 发布

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

我有一张清单

alist = [a, b, c, d, e]

我想把它传递给一个函数

def callme(a, b, e):
    pass

所以,我想做一些

callme(*alist[0,1,4])

有没有一个班轮可以做到这一点?你知道吗

编辑

我想我也可以这样做(编辑不要这样做,drewk用了一种更好的枚举方法来回答。)

callme(*[a for a in alist if alist.index(a) in [0,1,4]])

Tags: 方法函数in编辑forindexifdef
2条回答

您也可以这样做:

>>> alist = ['a', 'b', 'c', 'd', 'e']
>>> [a for i,a in enumerate(alist) if i in (0,1,4)]
['a', 'b', 'e']

使用operator.itemgetter

from operator import itemgetter
callme(*itemgetter(0, 1, 4)(alist))

相关问题 更多 >