繁体   English   中英

从包含 Python 中的字典的嵌套列表生成唯一列表

[英]Generate unique list from nested list that includes dicts in Python

我想从嵌套列表中提取唯一数据包括字典,见下文。 有没有什么有效的方法来生成一个新的 uniq 列表

[
  [{'port': 18, 'module': 1, 'policy_group': 'policy_group1'}]
  [{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}]
  [{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}]
]

新名单应该是

[
  [{'port': 18, 'module': 1, 'policy_group': 'policy_group1'}]
  [{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}]
]

您可以遍历list并使用tuple and set ,然后将set项目再次转换为dict ,如下所示:

>>> lst = [[{'port': 18, 'module': 1, 'policy_group': 'policy_group1'}],[{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}],[{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}]]

>>> [[dict(item)] for item in set(tuple(l[0].items()) for l in lst)]
[[{'port': 10, 'module': 1, 'policy_group': 'policy_group2'}],
 [{'port': 18, 'module': 1, 'policy_group': 'policy_group1'}]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM