【问题标题】:Comparing two lists of different size and return bool-list比较两个不同大小的列表并返回 bool-list
【发布时间】:2020-07-07 03:02:58
【问题描述】:

假设我们有两个列表:

尺寸(15)

list1 = [1012, 1017, 1037, 1057, ... , 1068]

大小(455)

list2 = [1029, 1049, 1012, 1117 ... , 1057]

如果 list1 中的项目在 list2 中,我如何返回具有布尔值的 Size(15) 新列表?
在 list2 中有一些项目多次出现,在 list1 中每个项目只出现一次。

结果应如下所示:Size(15)

list_result = [True, False, False, True, ... , False]

【问题讨论】:

    标签: python list loops dataframe boolean


    【解决方案1】:

    您可以通过简单的列表推导来做到这一点。由于您必须使用inn 次,nbeinglen(list1),您可以使用set 将查找复杂度降低到O(1),然后具有O(n) 的整体复杂度:

    list1 = [1012, 1017, 1037, 1057 , 1068]
    set2 = set([1029, 1049, 1012, 1117,1057])
    
    [i in set2 for i in list1]
    # [True, False, False, True, False]
    

    【讨论】:

      猜你喜欢
      • 2022-06-16
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多