用一系列位置拼接一个序列

Splicing a sequence with a sequence of positions

我们如何将一个序列与另一个序列的我们想要拼接的位置进行拼接?


例如,考虑

a = [1,"A", 34, -123, "Hello", 12]
b = [0, 2, 5]

目标是得到:

[1, 34, 12]

我能找到的唯一解决方案是

c = []
for i in b:
   c.append(a[i])

有没有不需要循环的解决方案Python?

我认为以下是可能的最短形式:

c = [a[i] for i in b]