美文网首页
利用python中集合操作寻找相同点以及重复项

利用python中集合操作寻找相同点以及重复项

作者: g_s_007 | 来源:发表于2024-07-16 21:56 被阅读0次
  1. 找出字典中的相同与不同
# -*- coding: utf-8 -*-
# @Time    : 2024/7/17 下午8:57
# @Author  : s
a = {
    'x': 1,
    'y': 2,
    'z': 3
}
b = {
    'w': 10,
    'x': 11,
    'y': 2
}
# 找a,b 相同的key
common_key = a.keys() & b.keys()
# 找在a不在b
diff_akey = a.keys() - b.keys()
# 找a,b相同的key,value
common_k_v = a.items() & b.items()
print(common_key)
print(diff_akey)
print(common_k_v)
  1. 从序列中移除重复项并保持元素间的顺序
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2024/7/17 下午9:41
# @Author  : s


def dedupe(items):
    """可哈希"""
    seen = set()
    for item in items:
        if item not in seen:
            yield item
            seen.add(item)


def dedupe2(items, key=None):
    """不可哈希"""
    seen = set()
    for item in items:
        val = item if key is None else key(item)
        if val not in seen:
            yield item
            seen.add(val)

if __name__ == '__main__':
    a1 = [1, 5, 2, 1, 9, 1, 5, 10]
    print(list(dedupe(a1)))
    a2 = [{'x': 1, 'y': 2}, {'x':1, 'y':3}, {'x':1, 'y':2}, {'x':2, 'y':4}]
    print(list(dedupe2(a2, key=lambda d: (d['x'],d['y']))))
    print(list(dedupe2(a2, key=lambda d: d['x'])))

如果只是去除重复项,并不关心元素间的顺序,最简单的方法:set([1,2,3,2,3,5]) 结果为:{1,2,3,5}

相关文章

  • Python基础-集合

    Python基础-集合 1.定义集合(元素不能重复) 2.集合操作

  • 集合的应用

    集合的特点 集合中的元素一般是无序的、不重复的 集合的常见操作 add(value):向集合中添加一项remove...

  • 数组去掉重复

    //去掉数组中重复内容(有序 containsObject) //利用集合去掉重复性(无序) //有序集合去重复(...

  • python的去重

    python中去重的方法 在python中,最简单的方法利用集合(set)的元素不能重复的特性去重。 1)方式如下...

  • python集合操作

    python的集合操作 set是一个无序不重复的序列 可以用 { } 或者 set( ) 函数创建集合 集合存放不...

  • 如何在 Scala 中科学地操作 collection(一)集合

    在日常项目开发中,我们几乎都会用到Scala中的集合以及一些集合操作。由于 Scala 中的集合操作灵活多变,对于...

  • python列表操作方法集合

    本文集合了python中对List列表类型数据的创建和排序、以及List内数据增删改查等操作方式。 List创建 ...

  • 全面了解Python集合,17个方法全解,看完就够了

    一、集合的定义 01 定义与特性 Python中的集合类似于数学中的集合概念,它是一组无序、不可重复元素序列,集合...

  • iOS数组、集合、字典

    数组 可变数组 不可变数组 集合 集合中不能存在重复的对象,利用此特性可以过滤重复对象集合和数组有相似之处,都是存...

  • Python set 集合操作

    set集合是元素的聚集,具有无序,唯一性两大特点。常见的用途包括成员检测、从序列中去除重复项以及数学中的集合类计算...

网友评论

      本文标题:利用python中集合操作寻找相同点以及重复项

      本文链接:https://www.haomeiwen.com/subject/linkhjtx.html