首页 > 编程语言 >Python列表差异值统计:集合操作、列表推导式、对称差集详解

Python列表差异值统计:集合操作、列表推导式、对称差集详解

时间:2024-01-15 18:23:28浏览次数:42  
标签:set Python 元素 list1 差集 list2 print 列表

 

在Python中,统计两个列表的差异值有多种方法,其中包括使用集合操作、列表推导式等。下面我将通过实例详细讲解几种常见的方法,并提供相应的实例源代码。

方法一:使用集合操作

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 找到在list1中而不在list2中的元素
difference1 = list(set(list1) - set(list2))

# 找到在list2中而不在list1中的元素
difference2 = list(set(list2) - set(list1))

# 输出差异值
print("List1 中不在 List2 中的元素:", difference1)  # 输出 [1, 2]
print("List2 中不在 List1 中的元素:", difference2)  # 输出 [6, 7]

方法二:使用列表推导式

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 保持顺序找到在list1中而不在list2中的元素
difference1 = [x for x in list1 if x not in list2]

# 保持顺序找到在list2中而不在list1中的元素
difference2 = [x for x in list2 if x not in list1]

# 输出差异值
print("List1 中不在 List2 中的元素:", difference1)  # 输出 [1, 2]
print("List2 中不在 List1 中的元素:", difference2)  # 输出 [6, 7]

方法三:使用set()和对称差集

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 找到两个列表中不同的元素(对称差集)
symmetric_difference = list(set(list1) ^ set(list2))

# 输出差异值
print("两个列表中不同的元素:", symmetric_difference)  # 输出 [1, 2, 6, 7]

这些方法各有优缺点,选择使用哪一种取决于你的具体需求和性能考虑。方法一和方法三使用了集合操作,可能在处理大型数据时更高效。方法二保持了原始列表的顺序,但在大型数据集上可能效率较低。

 

标签:set,Python,元素,list1,差集,list2,print,列表
From: https://www.cnblogs.com/hanbing81868164/p/17965994

相关文章

  • 盘点一个Python发票识别报错问题的处理案例
    大家好,我是皮皮。一、前言前几天在Python免费交流群【PJW】问了一个Python发票识别报错的问题,下图是他的报错截图,但是他自己看不出来哪里有问题,百度方面其实一问应该也有答案的,可是他就是有些找不到,然后找群里的好心人求助。后来【果冻和布丁】有GPT,找他帮忙问了一圈。二、实......
  • Python3 使用 PyMuPDF 库提取pdf中的字体文件
    先安装PyMuPDF库:pipinstallPyMuPDF 示例:importfitzdefextract_fonts(pdf_path):withfitz.open(pdf_path)asdoc:num_pages=doc.page_countfonts=[]forpage_numberinrange(num_pages):font_info=doc.get......
  • python 使用记录
     1.pythonpyqt6QPushButton设定快捷键importosimportsysfromPyQt6.QtWidgetsimportQPushButtonfromPyQt6.QtGuiimportQIconfromPyQt6.QtCoreimportQSize#......中间省略#初始化按钮self.btn=QPushButton('',self)self.btn.move(self.wid......
  • Python和易语言爬虫哪个速度更快
    在网络时代,爬虫技术成为了信息获取和数据分析的重要工具。Python和易语言都是常见的编程语言,而且都可以用于编写爬虫程序。本文将比较Python和易语言在爬虫方面的速度,并给出一些建议。Python是一种高级编程语言,具有强大的生态系统和广泛的应用领域。它有许多优秀的第三方库和框架,如......
  • Python中的动力系统相图绘制指南
    动力系统相图是描述动力学系统状态随时间变化的图形表示。它可以帮助我们了解系统的稳定性、周期性、吸引子等特性。Python提供了许多强大的工具来处理数值计算和数据可视化,其中最常用的库之一是Matplotlib。下面我们将详细介绍如何使用Matplotlib在Python中创建动力系统相图。步骤......
  • 如何用 Python 编写一个简单的技术指标量化策略
    技术指标是通过对历史价格、成交量等数据进行计算,来预测未来市场走势的工具。Python作为一种流行的编程语言,提供了许多强大的库,如Pandas和NumPy,可用于处理金融数据并实现量化策略。下面我们将详细介绍如何用Python编写一个简单的技术指标量化策略。步骤一:导入所需库在开始之前,我们......
  • Python中避免循环失败后重新开始的技巧
    在Python中,循环是非常常见且重要的编程语言结构。但是,在循环中出现错误或异常时,程序将会停止并从头开始执行,这可能会导致浪费时间和资源。为了避免这种情况的发生,我们可以使用异常处理技术来捕获错误并处理它们。下面是一些实用的技巧来帮助你在Python中避免循环失败后重新开始的问......
  • 初探: 通过pyo3用rust为python写扩展加速
    众所周知,python性能比较差,尤其在计算密集型的任务当中,所以机器学习领域的算法开发,大多是将python做胶水来用,他们会在项目中写大量的C/C++代码然后编译为so动态文件供python加载使用。那么时至今日,对于不想学习c/c++的朋友们,rust可以是一个不错的替代品,它有着现代化语言的设计和并......
  • python语法——基本数据类型
    python常见数据类型有:number(数字),string(字符串),bool(布尔值),list(列表),tuple(元组),set(集合),dictionary(字典),bytes类型(1)number常见类型有int,float,bool.complex(复数)如何判断数据是什么类型?1.使用type()函数:`print(type(x))`该语句会输出数据x的类型2.使用isinstance()函数:is......
  • python logging 禁止日志输出
    1只会禁用特定日志记录器,其他日志记录器仍可以将消息输出到控制台格式:logging.getLogger("某日志记录器").disabled=True例:logging.getLogger("tornado").disabled=True2阻止这些日志记录器将日志消息传播到更高级别的父级记录器,从而不会显示在控制台上;请注意,其他日志......