Способ выбора конкретных индексов из объекта, где нарезка не помогает
Я ищу способ получить доступ к объекту несколько раз простым способом.
Ex. 1)
ls = [i for i in range(100)]; print(ls[0], ls[32], ls[95])
Ex. 2)
js = {'key0': 'val0', ...}; print (js['keyN'], js['keyM'])
Я ищу способ указать объект только один раз, а затем указать нужные индексы (что-то вроде слайса). Смысл ls[0,32,95]
, или же js['keyN][inner_keyN_M, innerkeyN_M+3]
1 ответ
Решение
Вы можете использовать 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])