Python – 列出模数
有时我们会遇到需要将特定函数应用于两个列表中相似索引的每个元素的情况。这些非常相似,并作为某些实用程序的应用程序出现。让我们讨论可以执行模数(即两个列表的余数)的某些方法。
方法 #1:使用zip()
+ 列表理解
zip 操作可用于将一个列表与另一个列表链接,计算部分可以由列表理解处理,因此为这个特定问题提供了简写。
# Python3 code to demonstrate
# Lists Modulo
# 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))
# Lists Modulo
# using zip() + list comprehension
res = [i % j for i, j in zip(test_list1, test_list2)]
# printing result
print ("The modulo 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 modulo list is : [3, 2, 2, 0, 4]
方法 #2:使用map()
使用 map函数是最优雅的方式,我们可以通过这两个列表执行函数的孪生。除了模之外的不同操作也可以应用于它。
# Python3 code to demonstrate
# Lists Modulo
# using map()
from operator import mod
# 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))
# Lists Modulo
# using map()
res = list(map(mod, test_list1, test_list2))
# printing result
print ("The modulo 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 modulo list is : [3, 2, 2, 0, 4]