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