def at(collection, *paths): """Creates a list of elements from the specified indexes, or keys, of the collection. Indexes may be specified as individual arguments or as arrays of indexes. Args: collection (list|dict): Collection to iterate over. *paths (mixed): The indexes of `collection` to retrieve, specified as individual indexes or arrays of indexes. Returns: list: filtered list Example: >>> at([1, 2, 3, 4], 0, 2) [1, 3] >>> at({'a': 1, 'b': 2, 'c': 3, 'd': 4}, 'a', 'c') [1, 3] >>> at({'a': 1, 'b': 2, 'c': {'d': {'e': 3}}}, 'a', ['c', 'd', 'e']) [1, 3] .. versionadded:: 1.0.0 .. versionchanged:: 4.1.0 Support deep path access. """ return pyd.properties(*paths)(collection)