【问题标题】:Generate unique list from nested list that includes dicts in Python从包含 Python 中的 dicts 的嵌套列表生成唯一列表
【发布时间】:2021-10-15 13:36:33
【问题描述】:

我想从包含字典的嵌套列表中提取唯一数据,见下文。 有什么有效的方法来生成一个新的 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'}]
]

【问题讨论】:

  • 这个输入的输出应该是什么样的?

标签: python list uniq


【解决方案1】:

您可以遍历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'}]]

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 2019-05-09
    • 2017-02-26
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多