过滤字典中的嵌套数据

用户名

我有这本字典:

dict = {
        'user_1': {'role': 1, 'perm': 5},
        'user_2': {'role': 1, 'perm': 5},
        'user_3': {'role': 1, 'perm': 4},
        'user_4': {'role': 1, 'perm': 7},
        'user_5': {'role': 3, 'perm': 5}
    }

我该如何过滤以仅选择带有以下内容的键:

重复的角色和权限:

repeated_role_perm = {
        'user_1': {'role': 1, 'perm': 5},
        'user_2': {'role': 1, 'perm': 5},
    }

角色重复但没有重复权限:

only_role_repeated = {
      'user_3': {'role': 1, 'perm': 4},
      'user_4': {'role': 1, 'perm': 7},
}

剩菜剩饭:

leftovers = {
 'user_5': {'role': 3, 'perm': 5}
}

我能够使用代码来缩短数据:

shorted_dict = OrderedDict(sorted(list.items(), key=lambda x: (operator.getitem(x[1], 'role'), operator.getitem(x[1], 'perm'))))

但这不是我想要的。

杰里米·芒塞尔(Jeremy Munsell)

也许尝试一个功能?

 my_dict = {
    'user_1': {'role': 1, 'perm': 5},
    'user_2': {'role': 1, 'perm': 5},
    'user_3': {'role': 1, 'perm': 4},
    'user_4': {'role': 1, 'perm': 7},
    'user_5': {'role': 3, 'perm': 5}
}

 def filter_dict(role,perm,dic):
      filtered = {}
      users = [k for k in dic.keys() if dic[k]['role'] == int(role) and 
      dic[k]['perm'] == int(perm)]
      for user in users:
           filtered[user] = dic[user]
 return filtered

该函数返回,

 filter_dict(1,5,my_dict)
 {'user_1': {'role': 1, 'perm': 5}, 'user_2': {'role': 1, 'perm': 5}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在假定的字典中访问嵌套数据

来自分类Dev

在 Angular 2 中过滤嵌套数据

来自分类Dev

嵌套数据类的字典

来自分类Dev

嵌套数据结构中的过滤/模式匹配

来自分类Dev

将字典中的嵌套数据框转换为数据框

来自分类Dev

在React JS中过滤嵌套数组

来自分类Dev

在对象的嵌套数组中过滤

来自分类Dev

d3.js过滤嵌套数据中的空值

来自分类Dev

在 Typescript / Javascript 中过滤掉深层嵌套数据结构的对象

来自分类Dev

过滤嵌套数组> =

来自分类Dev

过滤嵌套数组

来自分类Dev

过滤嵌套数组

来自分类Dev

数据过滤Javascript(嵌套字典和数组)

来自分类Dev

过滤嵌套嵌套数组

来自分类Dev

熊猫中的嵌套数据框

来自分类Dev

在Spark中访问嵌套数据

来自分类Dev

在firebase中查询嵌套数据

来自分类Dev

从嵌套数组中获取数据

来自分类Dev

在vuetify中显示嵌套数据

来自分类Dev

无法获取嵌套数据中的密钥

来自分类Dev

更改嵌套数组中的数据

来自分类Dev

如何从嵌套数组中获取数据

来自分类Dev

在嵌套数据框中变异

来自分类Dev

如何从mongodb中获取嵌套数据

来自分类Dev

在 Swift 中访问嵌套数据

来自分类Dev

D3如何根据嵌套数据过滤菜单

来自分类Dev

Django Rest Framework如何过滤嵌套数据?

来自分类Dev

如何过滤深层嵌套数据?-Javascript JSON

来自分类Dev

Django Rest Framework如何过滤嵌套数据?