当前位置: 首页 > 面试题库 >

从Python中的两个列表中获得差异

狄钧
2023-03-14
问题内容

我有两个清单,l1l2。我需要的物品l1不在其中l2

l1 = [2, 3, 4, 5]
l2 = [0, 1, 2, 3]

我只想得到[4,5]-l1中只有新值。

[i for i in l1 if not i in l2 ]

我可以不用迭代吗?


问题答案:

简短的回答,是的:list(set(l1) - set(l2)),但这不会保持秩序。

长答案,不,因为在内部CPU总是会迭代。但如果你使用set()的是迭代将进行高度优化,并会快那么你的列表解析(更不用说检查会员value in list 快带套然后列出)。



 类似资料:
  • 问题内容: 我在Python中有两个列表,如下所示: 我需要用第一个列表中的项目创建第二个列表,而第二个列表中没有这些项目。从示例中,我必须得到: 有没有循环和检查的快速方法吗? 问题答案: 当心 你可能期望/希望它等于的位置。如果你想作为答案,则需要使用

  • 我正在尝试使用Java8流来组合列表。如何从两个现有列表中获得“对称差异列表”(只存在于一个列表中的所有对象)。我知道如何获取intersect列表,也知道如何获取union列表。 示例代码:

  • 问题内容: 我有一个要求,我必须以小时为单位获得两个时间戳记的时差,然后才求出小时数的平均值。 我正在使用下面的查询来查找两个时间戳的差异,但它没有给出确切的结果,而是给出了近似的结果。我们还有其他解决方案吗?我的两个时间戳为(LAST_MODIFIED_DATETIME-2016-11-30 15:39:01.131 CREATE_DATETIME-2016-07-01 17:25:52.375

  • 我有一个带有Person对象的数据库表。我的网络服务接收一个Person对象列表来更新这个Person表。我的应用程序现在包含两个列表: 我想遍历这些列表,并创建一个新列表,用于更新Person表。 fName和lName用于识别现有记录。下面是一个例子。 现在的 乔,布洛格斯,18岁,joe@me.com 简,布洛格斯,21岁,jane@me.com 弗洛,布洛格斯,25岁,flo@me.com

  • 问题内容: 我有两个列表,例如: 如何创建这些列表的所有排列,如下所示: 我可以用吗? 问题答案: