-1

Python で次の変数から ['a','b'] を取得しようとしています。

mylist = [{'A': ['a','b']}, {'B': ['c','d']}] 

keys = ['A']

itemgetter を使用して回答のあるさまざまな質問を見てきましたが、これはリスト内の辞書のキーが同じ場合にのみ機能します。(データに対して itemgetter を使用すると、KeyError が返されます)

誰も私がこれを機能させる方法を知っていますか?

ありがとう!

4

2 に答える 2

1

私はmylist単一の辞書に変わります:

In [27]: d = dict(reduce(operator.add, (x.items() for x in mylist)))

次に、次のようにクエリします。

In [28]: [d[k] for k in keys]
Out[28]: [['a', 'b']]
于 2013-02-15T10:01:19.663 に答える
0

私が正しく理解していれば、あなたはこれを望んでいます:

mylist[0][keys[0]]

これは、辞書がリストに配置されているためです。最初に so: のように取得する必要がありますmylist[0]'A'次に、リストの最初の要素でもある文字列で辞書にインデックスを付けることができますkeys[0]。この 2 つをまとめると、上記の強調表示されたステートメントに到達します。

于 2013-02-15T09:54:53.990 に答える