我正在尝试从 Python 中的以下变量中获取 ['a','b'] :
mylist = [{'A': ['a','b']}, {'B': ['c','d']}]
和
keys = ['A']
我已经使用 itemgetter 看到了各种带有答案的问题,但这仅在列表中字典的键相同时才有效。(如果我对我的数据使用 itemgetter,它会返回一个 KeyError)
有谁知道我怎样才能做到这一点?
谢谢!
我正在尝试从 Python 中的以下变量中获取 ['a','b'] :
mylist = [{'A': ['a','b']}, {'B': ['c','d']}]
和
keys = ['A']
我已经使用 itemgetter 看到了各种带有答案的问题,但这仅在列表中字典的键相同时才有效。(如果我对我的数据使用 itemgetter,它会返回一个 KeyError)
有谁知道我怎样才能做到这一点?
谢谢!
我会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']]
如果我理解正确,你想要这个:
mylist[0][keys[0]]
这是因为你的字典是放在一个列表中的,所以你需要先把它拿出来,像这样:mylist[0]
. 然后,您可以使用字符串索引字典,该字符串'A'
也是列表的第一个元素,即keys[0]
. 将两者放在一起,您会得到上面突出显示的声明。