python - 将列表的每个元素与另一个列表的相应元素进行比较的最快方法是什么?

标签 python python-3.x list comparison list-comprehension

我想将一个列表的每个元素与另一个列表的相应元素进行比较,看它是更大还是更小。

list1 = [4,1,3]
list2 = [2,5,2]

所以比较421532

除了使用 for 循环之外,还有其他快速的方法吗?

最佳答案

您可以为此使用numpy 库。而且速度明显更快

>>> import numpy as np
>>> list1 = np.array([4,1,3]) 
>>> list2 = np.array([2,5,2])
>>> list1 < list2
array([False,  True, False])

函数运行时间

>>> import timeit
>>> timeit.timeit("""
... import numpy as np
... list1 = np.array([4,1,3])
... list2 = np.array([2,5,2])
... print(list1 < list2)
... """,number=1)
[False  True False]
0.00011205673217773438

事实上,numpy 基本上是用 C、C++ 编写的,如果您研究它的实现,它会变得相当快。

关于python - 将列表的每个元素与另一个列表的相应元素进行比较的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52696711/

相关文章:

python - 如何将原始指针传递给 Boost.Python?

Python,在(a,b)对列表中找到具有最大总和(b值)的a值

python-3.x - 如何通过 pandas `df.to_sql()` 在已创建的数据库表中插入值

c++ - ostream,复制函数打印字符串地址,而不是字符串内容

python - 为什么更新字典不是按相同的顺序排序

python - 如何在Python中找到增加和减少的趋势

python - pip-3.3 安装 MySQL-python

python - Spring Boot 应用程序使用 CLI 触发另一个应用程序

Pythonic 方式查找与另一个字典中的键、值对匹配的字典

python - 来自一个源代码树的多个分布