如何根据布尔值对dict值列表进行排序?

时间:2019-06-03 06:03:15

标签: ansible

将Linux服务器与已安装的ansible 2.7.5版本配合使用。

我试图根据值的布尔值对它们进行排序,但无法获得确切的输出。

任何人都可以根据以下要求提供帮助。

通过代码,我尝试了可以​​获取真值或假值,但不能结合使用。

下面提到的是字典值的列表。

[{u'EDP130': True}, {u'EDP134': False}, {u'EDP136': False}, {u'EDP139': True}]

从上面提到的字典列表中,我想获取如下所示的值列表。

在这里,这些值应该像一对true和false。

[EDP130,EDP134,EDP139,EDP136]

1 个答案:

答案 0 :(得分:0)

通过字典设置列表中的位置

b={
True:0,
False:1
}
d=[{u'EDP130': True}, {u'EDP134': False}, {u'EDP136': False}, {u'EDP139': True}]
l=[None]*len(d)
for i in d:
    for k,v in i.items():
        l[b[v]]=k
        b[v]+=2
print(l)