Python:选择一个列表中的特定条目[重复]。

问题描述 投票:1回答:1

a = [1,2,3,4,5,6,7]

如果我想选择其中的0到4号元素,我可以通过以下方式来实现

a[0:3]

现在我想做的是用类似的命令选择第一个、第三个和第四个元素。所以我想建立一个列表 [2,4,5] 通过以下命令

a[???]

的,我得填什么?????

(我不想做 [a[1],a[3],a[4]]因为在我的例子中,a是函数的返回值,而且只想调用一次)。)

谢谢你的建议

python list syntax
1个回答
1
投票

你可以使用像下面这样的映射。

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]

0
投票
x = a[1] + a[3:5]

我想没有更短的版本。

© www.soinside.com 2019 - 2024. All rights reserved.