Способ выбора конкретных индексов из объекта, где нарезка не помогает - PullRequest
0 голосов
/ 08 июля 2019

Я ищу способ доступа к объекту несколько раз простым способом.

Пример.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]

1 Ответ

2 голосов
/ 08 июля 2019

Вы можете использовать модуль 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])
...