Skip to main content
 首页 » 编程设计

python之逐个检查 python 中两个受人尊敬的列表的元素

2025年05月04日22lyj

如何检查两个列表中的一个是否颠倒,并在每个位置提取最小值,例如:

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

这是我的代码:

min(list1, list2) 

但这是错误的。

请您参考如下方法:

使用映射

您需要使用 min 作为函数对列表执行映射,例如:

>>> list(map(min, list1, list2)) 
[1, 4, 5, 1, 1, 5, 4, 1] 

使用列表理解和zip

或使用 zip 和列表理解的等效方法:

>>> [min(t) for t in zip(list1, list2)] 
[1, 4, 5, 1, 1, 5, 4, 1] 

使用 numpy

对于巨大的列表,我们可以通过使用 numpy 和处理数组来提高性能。例如:

>>> import numpy as np 
>>> np.min((list1, list2), axis=0) 
array([1, 4, 5, 1, 1, 5, 4, 1]) 

如果结果必须再次是普通列表,我们可以将结果传回列表:

>>> list(np.min((list1, list2), axis=0)) 
[1, 4, 5, 1, 1, 5, 4, 1]