📜  Python|列表中的 K 取幂

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

Python|列表中的 K 取幂

在使用Python列表时,我们可能会遇到需要对列表中的每个元素进行指数常数的情况。我们可能需要对每个元素进行迭代和指数常量,但这会增加代码行。让我们讨论执行此任务的某些速记。

方法#1:使用列表理解
列表推导式只是执行我们使用朴素方法执行的任务的捷径。这主要用于节省时间,并且在代码的可读性方面也是最好的。

# Python3 code to demonstrate 
# Exponentiation by K in 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
# Exponentiation by K in list
res = [x ** K for x in test_list]
  
# printing result 
print ("The list after constant exponentiation : " + str(res))
输出 :
The original list is : [4, 5, 6, 3, 9]
The list after constant exponentiation : [256, 625, 1296, 81, 6561]

方法 #2:使用map() + operator.pow
这类似于上面的函数,但使用运算符.pow 将每个元素指数化为在应用 map函数之前形成的另一个 K 列表中的另一个元素。它为列表的类似索引元素提供支持。

# Python3 code to demonstrate 
# Exponentiation by K in list
# using map() + operator.pow
import operator
  
# initializing list 
test_list = [4, 5, 6, 3, 9]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# initializing K list
K_list = [4] * len(test_list)
  
# using map() + operator.pow
# Exponentiation by K in list
res = list(map(operator.pow, test_list, K_list))
  
# printing result 
print ("The list after constant exponentiation : " + str(res))
输出 :
The original list is : [4, 5, 6, 3, 9]
The list after constant exponentiation : [256, 625, 1296, 81, 6561]