说
a = [1,2,3,4,5,6,7]
如果我想选择其中的0到4号元素,我可以通过以下方式来实现
a[0:3]
现在我想做的是用类似的命令选择第一个、第三个和第四个元素。所以我想建立一个列表 [2,4,5]
通过以下命令
a[???]
的,我得填什么????
?
(我不想做 [a[1],a[3],a[4]]
因为在我的例子中,a是函数的返回值,而且只想调用一次)。)
谢谢你的建议
你可以使用像下面这样的映射。
a = [1,2,3,4,5,6,7]
res = list(map(a.__getitem__, [1,3,5]))
print(res)
# [2, 4, 6]
另一个选择是使用 operator.itemgetter
:
import operator
b= [1,3,5]
res = operator.itemgetter(*b)(a)
print(list(res)
# [2, 4, 6]
x = a[1] + a[3:5]
我想没有更短的版本。