📌  相关文章
📜  Python|划分两个列表

📅  最后修改于: 2022-05-13 01:55:45.863000             🧑  作者: Mango

Python|划分两个列表

有时我们会遇到需要将特定函数应用于两个列表中相似索引的每个元素的情况。其中最受欢迎的是 4 种初等数学运算。这些非常相似,并作为某些实用程序的应用程序出现。让我们讨论可以执行划分两个列表的某些方法。

方法 #1:使用zip() + 列表理解
zip 操作可用于将一个列表与另一个列表链接,计算部分可以由列表理解处理,因此为这个特定问题提供了一种速记。

# Python3 code to demonstrate 
# division of lists
# using zip() + list comprehension
  
# initializing lists 
test_list1 = [3, 5, 2, 6, 4]
test_list2 = [7, 3, 4, 1, 5]
  
# printing original lists 
print ("The original list 1 is : " + str(test_list1))
print ("The original list 2 is : " + str(test_list2))
  
# division of lists
# using zip() + list comprehension
res = [i / j for i, j in zip(test_list1, test_list2)]
  
# printing result
print ("The division list is : " + str(res))
输出:
The original list 1 is : [3, 5, 2, 6, 4]
The original list 2 is : [7, 3, 4, 1, 5]
The division list is : [0.42857142857142855, 1.6666666666666667, 0.5, 6.0, 0.8]


方法 #2:使用map()
使用 map函数是最优雅的方式,我们可以通过这两个列表执行函数的孪生。除除以外的不同操作也可以应用于它。

# Python3 code to demonstrate 
# division of lists
# using map()
from operator import truediv
  
# initializing lists 
test_list1 = [3, 5, 2, 6, 4]
test_list2 = [7, 3, 4, 1, 5]
  
# printing original lists 
print ("The original list 1 is : " + str(test_list1))
print ("The original list 2 is : " + str(test_list2))
  
# division of lists
# using map()
res = list(map(truediv, test_list1, test_list2))
  
# printing result
print ("The division list is : " + str(res))
输出:
The original list 1 is : [3, 5, 2, 6, 4]
The original list 2 is : [7, 3, 4, 1, 5]
The division list is : [0.42857142857142855, 1.6666666666666667, 0.5, 6.0, 0.8]