pythonで再帰的なitemgetter
はありますか?あなたが再帰的なitemgetterのためのPython
d = {'a': (1,2,3), 'b': {1: (5,6)}}
のような物を持っていると私はd['a']
からタプルの最初の要素を取得したいとしましょうか?私がitemgetter
と言うことができる限り、レベルは1つのみ、つまりa
またはb
、またはその両方を取得します。
itertools
とitemgetter
を組み合わせて望みの結果を得る巧妙な方法がありますか?だから、基本的に私が呼び出すことができるようにしたいものを
は、私が「賢い」やり方が気に入らない
from operator import itemgetter
d = {'a': (1,2), 'b': (4, (5,))}
itemgetter({'a': 0})(d) --> 1
itemgetter({'b': 0})(d) --> 4
itemgetter({'b': {1: 0}})(d) --> 5
d = {'a': {'b': (1,2,3)}}
itemgetter({'a': {'b': 2}})(d) --> 3
OK、そうそこにあるが、この(https://pypi.python.org/pypi/jmespath)何をしているI標準ライブラリの一部ではありません。 –