📜  Python – 使用切片获取最后 K 个列表项的总和

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

Python – 使用切片获取最后 K 个列表项的总和

访问列表中的元素有许多类型和变体。这些是Python编程的重要组成部分,必须具备执行相同操作的知识。本文讨论了获取最后 K 个元素并对其求和的方法。让我们讨论执行此任务的某些解决方案。
方法 #1:使用列表切片 + sum()
这个问题可以在 1 行中执行,而不是使用Python提供的列表切片功能使用循环,然后使用 sum()。减号运算符指定要从后端进行切片。

Python3
# Python3 code to demonstrate
# Inverse K slice Sum
# using list slicing + sum()
 
# initializing list
test_list = [4, 5, 2, 6, 7, 8, 10]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing K
K = 5
 
# Inverse K slice Sum
# using list slicing + sum()
res = sum(test_list[-K:])
 
# print result
print("The last K elements sum of list is : " + str(res))


Python3
# Python3 code to demonstrate
# Inverse K slice Sum
# using islice() + reversed() + sum()
from itertools import islice
 
# initializing list
test_list = [4, 5, 2, 6, 7, 8, 10]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing K
K = 5
 
# using islice() + reversed() + sum()
# Inverse K slice Sum
res = list(islice(reversed(test_list), 0, K))
res.reverse()
res = sum(res)
 
# print result
print("The last K elements sum of list are : " + str(res))


输出 :
The original list : [4, 5, 2, 6, 7, 8, 10]
The last K elements sum of list is : 33


方法 #2:使用 islice() + reversed() + sum()
内置函数也可用于执行此特定任务。 islice函数可用于获取切片列表, reversed函数用于从后端获取元素,然后使用 sum() 进行求和。

Python3

# Python3 code to demonstrate
# Inverse K slice Sum
# using islice() + reversed() + sum()
from itertools import islice
 
# initializing list
test_list = [4, 5, 2, 6, 7, 8, 10]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing K
K = 5
 
# using islice() + reversed() + sum()
# Inverse K slice Sum
res = list(islice(reversed(test_list), 0, K))
res.reverse()
res = sum(res)
 
# print result
print("The last K elements sum of list are : " + str(res))
输出 :
The original list : [4, 5, 2, 6, 7, 8, 10]
The last K elements sum of list is : 33