在列表中的列表中对列表进行列表理解

use*_*999 3 python dictionary list-comprehension list

我需要创建一个列表解析,从列表中的列表中的字典中提取值,到目前为止我的尝试都让我失望.该对象如下所示:

MyList=[[{'animal':'A','color':'blue'},{'animal':'B','color':'red'}],[{'animal':'C','color':'blue'},{'animal':'D','color':'Y'}]] 
Run Code Online (Sandbox Code Playgroud)

我想提取dict/list/list中每个元素的值,以便获得两个新列表:

Animals=[[A,B],[C,D]]
Colors=[[blue,red],[blue,Y]]
Run Code Online (Sandbox Code Playgroud)

有什么建议?不一定需要使用列表理解; 到目前为止,这只是我的起点.谢谢!

Ale*_*ton 5

Animals = [[d['animal'] for d in sub] for sub in MyList]
Colors = [[d['color'] for d in sub] for sub in MyList]
Run Code Online (Sandbox Code Playgroud)

给出了期望的结果:

[['A', 'B'], ['C', 'D']]
[['blue', 'red'], ['blue', 'Y']]  # No second 'red'.
Run Code Online (Sandbox Code Playgroud)

我在这里做的是获取每个子列表,然后是每个字典,然后访问正确的密钥.