-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]]

这是因为你的字典是放在一个列表中的,所以你需要先把它拿出来,像这样:mylist[0]. 然后,您可以使用字符串索引字典,该字符串'A'也是列表的第一个元素,即keys[0]. 将两者放在一起,您会得到上面突出显示的声明。

于 2013-02-15T09:54:53.990 回答