📜  Python|模 K 列表

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

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]