Python程序 计算两个列表的对称差集
在Python中,可以使用列表将多个项保存在单个变量中。Python用于存储数据集合的四种内置数据类型之一是列表,另外三种类型是元组,集合和字典,每种类型都有独特的用途。
什么是列表?
使用方括号创建列表。在Python中,最有效的工具是列表,因为它们不必一定是同质的。在一个列表中可以找到整数、字符串和对象等不同的数据类型。由于列表是可变的,所以甚至在创建后也可以对其进行更改。
列表中的对称差分
两个列表LIST1和LIST2之间的对称差分是指分别在LIST1或LIST2中但不在两个列表中都出现的元素的集合。
有多种方法可以在Python中计算两个列表之间的对称差集,我们将使用最有效的方式来查找相同之处。
我们已经将列表转换为集合,然后在这些集合之间执行了对称差分。
算法
- 创建列表
-
将列表转换为集合
-
打印转换集合的对称差分
-
打印列表的对称差分
例子
在下面的程序中,通过’in’关键字我们可以找到两个列表之间的差异。in关键字有两个功能。
- 确定字符串、列表、元组、范围等中是否存在值。
-
为了在循环中重复遍历列表。
输出
例子
在这里,我们制作了两个列表,然后创建了一个空临时变量。然后我们使用for循环遍历列表中的数字。如果语句检查数字是否是公共的,那么元素将被添加到第一个临时变量中。然后打印具有不同元素的列表。
输出
使用列表推导式
在这种方法中,我们明确将列表转换为集合,然后使用减法运算符仅从中删除一个。转到Python中的集合进行其他集合引用。这是我们之前使用的一种类似的策略。列表推导式语法被用来代替嵌套循环,这是唯一的区别。
输出
不使用set()
在这种方法中,通过基本的组合技术从两个列表中复制元素,同时定期检查它们是否存在于另一个列表中。
例子
在下面的程序中,我们定义了一个名为Difference的函数,它将两个列表作为参数。该函数创建一个新列表list_dif,其中包含原始列表中不存在的项目。然后它打印出这个新列表和两个原始列表之间的差异。在这个例子中,它打印出[1,12,25,22,30,20]。
输出
使用对称差集
对称差集()方法返回既在第一个集合中又在第二个集合中的元素。与两个集合的共享元素不同,该方法不返回交集。
示例
输出
结论
在本文中,我们使用了四种不同的方法来计算python中两个列表之间的对称差异。每种方法都有其独特性和处理任务的不同方式。