Python:比较两个整数列表的最有效方法

SoIt开始

我正在尝试在Python 2.6中比较两个相同大小的整数列表。我需要进行的比较是将列表1中的第一项与列表2中的第一项进行比较,将列表1中的第二项与列表2中的第二项进行比较,依此类推,如果所有列表项都在后面,则返回结果相同的比较标准。它的行为应如下所示:

list1 = [1,1,1,1]
list2 = [2,1,2,3]
compare(list1,list2) 
# returns a "list 1 is <= list 2" response.

list1 = [4,1,4,3]
list2 = [2,1,2,3]
compare(list1,list2) 
# returns a "list 1 is >= list 2" response.

list1 = [3,2,3,2]
list2 = [1,4,1,4]
compare(list1,list2) 
# returns None— some items in list1 > list2, and some items in list2 > list1.

我以为我可以像下面的代码块一样编写代码,但是我不知道它是否是最有效的。我的程序将把这个方法称为LOT,所以我想尽可能地简化它。

def compare(list1,list2):
    gt_found = 0
    lt_found = 0
    for x in range(len(list1)):
        if list1[x] > list2[x]:
            gt_found += 1
        elif list1[x] < list2[x]:        
            lt_found += 1
        if gt_found > 0 and lt_found > 0:
            return None   #(some items >, some items <)
    if gt_found > 0:
        return 1          #(list1 >= list2)
    if lt_found > 0:
        return -1         #(list1 <= list2)
    return 0              #(list1 == list2)

它已经和它要获得的结果一样好(n的big-O),或者有更快的方法(或者使用系统函数的方法)?

澄清:我希望返回“无”的情况最常发生,因此很重要。

Acorbe

您可以考虑基于numpy的矢量化比较。

import numpy as np

a = [1,1,1,2]
b = [2,2,4,3]

all_larger = np.all(np.asarray(b) > np.asarray(a))  # true if b > a holds elementwise

print all_larger

        True

显然,您可以设计出能够解决问题的东西。

all_larger = lambda b,a : np.all(np.asarray(b) > np.asarray(a))

if all_larger(b,a):
       print "b > a"
elif all_larger(a,b):
       print "a > b"

else
       print "nothing!"

每种比较<, >, <=, >=,都可以完成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较两个列表并删除相同列表的最有效方法

来自分类Dev

比较两个列表内容的最有效方法是什么?

来自分类Dev

在两个不同列表中查找相同索引号以比较值的最有效方法

来自分类Dev

React useEffect():比较两个对象数组是否相等的最有效方法

来自分类Dev

比较两个哈希图的键的最有效方法是什么

来自分类Dev

查找列表中两个元素的所有组合的最有效方法

来自分类Dev

Ruby on Rails-比较两个大型数组以获取不匹配结果的最有效方法

来自分类Dev

在android中,比较两个文件以确定它们是否相同的最有效方法是什么?

来自分类Dev

如何有效地比较Python中的两个列表?

来自分类Dev

比较PHP中对象的两个数组的最有效方法

来自分类Dev

在python 3中的两个非常大的元组列表中查找通用元组索引的最有效方法?

来自分类Dev

在模板类型列表中交换两个元素。寻求最有效的算法

来自分类Dev

在随机生成的整数列表中查找所有模式及其出现频率的最有效方法

来自分类Dev

检查整数列表中的所有元素是否为 0 的最有效的时间/空间方法

来自分类Dev

以最有效的方式合并两个表

来自分类Dev

Python:联接两个非常大(超过20 GB)的数据集的最有效方法?

来自分类Dev

比较OCaml中的两个整数列表

来自分类Dev

查找两个数之和的最有效方法

来自分类Dev

在Haskell中检查3个列表以查找公共整数的最有效方法

来自分类Dev

检查两个java对象的Deep Equal的最快,最有效的方法是什么?

来自分类常见问题

创建两个熊猫数据框列的字典的最有效方法是什么?

来自分类Dev

同步两个datagridview的最有效方法是什么?

来自分类Dev

删除两个条件的行的最有效方法

来自分类Dev

同步熊猫中两个大数据帧的最有效方法是什么?

来自分类Dev

在两个android应用安装之间进行通信的最有效方法

来自分类Dev

计算两个集合(Java)之间的交点的最有效方法是什么?

来自分类Dev

检查两个物体是否碰撞并减速的最有效方法是什么?

来自分类Dev

在Django项目中迭代两个不同模型的最有效方法是什么

来自分类Dev

查找两个表之间重叠的最有效方法

Related 相关文章

  1. 1

    比较两个列表并删除相同列表的最有效方法

  2. 2

    比较两个列表内容的最有效方法是什么?

  3. 3

    在两个不同列表中查找相同索引号以比较值的最有效方法

  4. 4

    React useEffect():比较两个对象数组是否相等的最有效方法

  5. 5

    比较两个哈希图的键的最有效方法是什么

  6. 6

    查找列表中两个元素的所有组合的最有效方法

  7. 7

    Ruby on Rails-比较两个大型数组以获取不匹配结果的最有效方法

  8. 8

    在android中,比较两个文件以确定它们是否相同的最有效方法是什么?

  9. 9

    如何有效地比较Python中的两个列表?

  10. 10

    比较PHP中对象的两个数组的最有效方法

  11. 11

    在python 3中的两个非常大的元组列表中查找通用元组索引的最有效方法?

  12. 12

    在模板类型列表中交换两个元素。寻求最有效的算法

  13. 13

    在随机生成的整数列表中查找所有模式及其出现频率的最有效方法

  14. 14

    检查整数列表中的所有元素是否为 0 的最有效的时间/空间方法

  15. 15

    以最有效的方式合并两个表

  16. 16

    Python:联接两个非常大(超过20 GB)的数据集的最有效方法?

  17. 17

    比较OCaml中的两个整数列表

  18. 18

    查找两个数之和的最有效方法

  19. 19

    在Haskell中检查3个列表以查找公共整数的最有效方法

  20. 20

    检查两个java对象的Deep Equal的最快,最有效的方法是什么?

  21. 21

    创建两个熊猫数据框列的字典的最有效方法是什么?

  22. 22

    同步两个datagridview的最有效方法是什么?

  23. 23

    删除两个条件的行的最有效方法

  24. 24

    同步熊猫中两个大数据帧的最有效方法是什么?

  25. 25

    在两个android应用安装之间进行通信的最有效方法

  26. 26

    计算两个集合(Java)之间的交点的最有效方法是什么?

  27. 27

    检查两个物体是否碰撞并减速的最有效方法是什么?

  28. 28

    在Django项目中迭代两个不同模型的最有效方法是什么

  29. 29

    查找两个表之间重叠的最有效方法

热门标签

归档