一种从切片无用的对象中选取特定索引的方法

A way for picking specific indices from an object where slicing isn't helpful

我正在寻找一种以简单的方式多次访问对象的方法。

例如。 1)

ls = [i for i in range(100)]; print(ls[0], ls[32], ls[95])

例如。 2)

js = {'key0': 'val0', ...}; print (js['keyN'], js['keyM'])

我正在寻找的是一种只指定对象一次,然后指定所需索引(类似于切片)的方法。意思是ls[0,32,95],或者js['keyN][inner_keyN_M, innerkeyN_M+3]

您可以使用 itemgetter模块。

from operator import itemgetter
ls = [i for i in range(100)]
ids = [0, 32, 95]
print(itemgetter(*ids)(ls))

输出

(0, 32, 95)

您还可以使用列表理解:

ls = [i for i in range(100)]
ids = [0, 32, 95]

print([ls[id] for id in ids])