Python|模 K 列表
在使用Python列表时,我们可能会遇到需要将整数 k 取模到列表中的每个元素的情况。我们可能需要对每个元素进行迭代和取模,但这会增加代码行。让我们讨论执行此任务的某些速记。
方法#1:使用列表理解
列表推导式只是执行我们使用朴素方法执行的任务的捷径。这主要用于节省时间,并且在代码的可读性方面也是最好的。
# Python3 code to demonstrate
# Modulo K List
# using list comprehension
# initializing list
test_list = [4, 5, 6, 3, 9]
# printing original list
print ("The original list is : " + str(test_list))
# initializing K
K = 4
# using list comprehension
# Modulo K List
res = [x % K for x in test_list]
# printing result
print ("The list after Modulo K to each element : " + str(res))
输出 :
The original list is : [4, 5, 6, 3, 9]
The list after Modulo K to each element : [0, 1, 2, 3, 1]
方法 #2:使用map()
+ lambda
map函数可用于将每个元素与 lambda函数配对,该函数对列表中的每个元素执行模 K 的任务。
# Python3 code to demonstrate
# Modulo K List
# using map() + lambda
# initializing list
test_list = [4, 5, 6, 3, 9]
# printing original list
print ("The original list is : " + str(test_list))
# initializing K
K = 4
# using map() + lambda
# Modulo K List
res = list(map(lambda x : x % K, test_list))
# printing result
print ("The list after Modulo K to each element : " + str(res))
输出 :
The original list is : [4, 5, 6, 3, 9]
The list after Modulo K to each element : [0, 1, 2, 3, 1]