2024-06-02 06:52:56 发布
网友
python标准库中是否有一个函数根据字典属性之一检查列表是否唯一
像这样:
is_unique(dict_list, prop="x")
结果:
{"x": 1, "y": 2}, {"x": 2, "y": 2}, {"x": 2, "y": 3} <- False {"x": 1, "y": 2}, {"x": 2, "y": 2}, {"x": 3, "y": 3} <- True
或:
def is_unique(lod, prop): seen=set() return not any(i[prop] in seen or seen.add(i[prop]) for i in lod) LOD=[{"x": 1, "y": 2}, {"x": 2, "y": 2}, {"x": 2, "y": 3}] print(is_unique(LOD,'x'))
输出:
False
你可以天真地做:
def is_unique(dcts, prop): return len(dcts) == len(set(d[prop] for d in dcts))
这假设值d[prop]是可散列的。如果您有很长的列表,您可能希望在构建道具集时提前中断(当遇到第一个重复时),就像这样 U9前锋的解决方案
d[prop]
或:
输出:
你可以天真地做:
这假设值
d[prop]
是可散列的。如果您有很长的列表,您可能希望在构建道具集时提前中断(当遇到第一个重复时),就像这样 U9前锋的解决方案相关问题 更多 >
编程相关推荐