Вы можете решить эту проблему с помощью operator.itemgetter
.
>>> a = ["one", "two", "three", "four"]
>>> from operator import itemgetter
>>> itemgetter(0, 2)(a)
("one", "three")
itemgetter
была одной из функций, введенных, когда лямбда-выражение рассматривалось для удаления из Python 3000 (язык, который был в конечном итоге выпущен как Python 3). Он был предназначен для замены потребности в lambda
в выражении, подобном
>>> (lambda x: (x[0], x[2]))(a)
("one", "three")
, и при этом был несколько более эффективным.