zoukankan      html  css  js  c++  java
  • 2个list取差集

    list操作

    element in a list but not in other list,元素在一个list,不在另一个list

    • 在数据量大的时候使用numpy的setdiff1d方法的性能非常好,耗时为毫秒级别。main_list = np.setdiff1d(list_2,list_1, assume_unique=False) assume_unique为false时,会将结果去重,assume_unique为True时,保留所有符合条件的元素。使用np.setdiff1d时参数assume_unique默认为False
    import numpy as np
    list_1 = ["a", "b", "c", "d", "e"]
    list_2 = ["a", "f", "c", "m"]
    main_list = np.setdiff1d(list_2,list_1)
    print(main_list)
    
    • np.setdiff1d方法处理后的list的元素的类型为numpy.int numpy.str等,需要使用list中元素时候需要转换为原来元素的类型
    miss_time_list = [int(miss_time.strftime('%Y%m%d')) for miss_time in np.setdiff1d(old_time_to_datetime_list, new_time_list)]
    
    • 在数据量小的时候使用for循环也可,但是数据量大的时候耗时太长
    main_list = []
    for i in list_2:
        if i not in list_1:
            main_list.append(i)
    
  • 相关阅读:
    ios开发系列-准备工作
    tests
    腾讯DBA官方博客开通了,欢迎交流
    腾讯DBA官方博客开通了
    [HNOI2008]水平可见直线
    BZOJ-4518 征途
    CDQ分治与整体二分
    HYSBZ-1176 Mokia
    二逼平衡树
    可持久化数组
  • 原文地址:https://www.cnblogs.com/ronky/p/9425168.html
Copyright © 2011-2022 走看看