Maison >développement back-end >Tutoriel Python >Python - Obtenez la somme des derniers éléments de la liste K en utilisant le découpage

Python - Obtenez la somme des derniers éléments de la liste K en utilisant le découpage

WBOY
WBOYavant
2023-09-06 11:17:061524parcourir

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

En Python, la méthode de découpage nous permet d'extraire des éléments spécifiques d'une séquence telle qu'une chaîne, une liste ou un tuple. Il fournit un moyen concis et flexible de gérer des sous-séquences au sein de séquences plus grandes. Dans cet article, nous allons explorer comment obtenir la somme des K derniers éléments d'une liste à l'aide de l'opération de découpage.

Algorithme

Pour trouver la somme des K derniers éléments d'une liste, on peut suivre un algorithme simple :

  • Accepte une liste et la valeur de K en entrée.

  • Extrayez les K derniers éléments de la liste à l'aide de l'opérateur de découpage.

  • Calculez la somme des éléments extraits.

  • Renvoie la somme en sortie.

Grammaire

sequence[start:end:step]

Ici, la méthode slice accepte trois paramètres facultatifs :

  • start (facultatif) : L'index de l'élément où la tranche doit commencer. S'il n'est pas fourni, il est par défaut le début de la séquence.

  • .
  • end (facultatif) : L'index (exclusif) de l'élément auquel la tranche doit se terminer. S’il n’est pas fourni, la valeur par défaut est la fin de la séquence.

  • step (facultatif) : la valeur de pas ou d'incrément pour la sélection des éléments. Si elle n'est pas fournie, la valeur par défaut est 1.

  • .

Les valeurs de début, de fin et d'étape peuvent être des entiers positifs ou négatifs, vous permettant de parcourir la séquence dans le sens avant et arrière.

Exemple 1 : Trouvez la somme des K derniers éléments en utilisant la méthode de découpage

En spécifiant des indices négatifs dans la tranche, nous pouvons commencer par la fin de la liste et parcourir en arrière. Voici la syntaxe pour obtenir la somme des derniers éléments de la liste K en utilisant le découpage :

Dans l'exemple ci-dessous, nous avons une liste my_list contenant 10 éléments. Nous voulons trouver la somme des 4 derniers éléments de la liste. En utilisant l'opérateur slice [-K:], nous spécifions la plage du quatrième au. −dernier élément à la fin de la liste. La fonction sum() calcule ensuite la somme des éléments extraits, ce qui donne 280.

my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
K = 4
sum_of_last_k = sum(my_list[-K:])
print("Sum of last", K, "items:", sum_of_last_k)

Sortie

Sum of last 4 items: 340

Exemple 2 : Utilisation de la fonction tail dans le module de collecte

La fonction tail du module collections est un moyen pratique d'extraire les N derniers éléments d'une séquence. Il permet d'éviter les découpages avec des indices négatifs.

Dans l'exemple ci-dessous, nous importons la classe deque du module collections et spécifions la longueur maximale requise (maxlen) comme N. En passant la liste des nombres et maxlen=N à deque, nous créons un objet deque qui ne contient que les N derniers éléments. Utilisez list(tail_elements) pour convertir l'objet deque en liste, et vous pourrez obtenir les éléments de queue [6, 7, 8, 9, 10].

from collections import deque

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
N = 5
tail_elements = deque(numbers, maxlen=N)
print(list(tail_elements))

Sortie

[6, 7, 8, 9, 10]

Exemple 3 : Utilisation de la fonction islice du module itertools

La fonction islice du module itertools vous permet d'extraire une sous-séquence spécifique d'un itérable, comme une liste ou une chaîne, en fournissant les valeurs de début, d'arrêt et d'étape

.

Dans l'exemple ci-dessous, nous importons la fonction islice du module itertools. En transmettant la liste des nombres ainsi que les valeurs de début, d'arrêt et de pas à islice(numbers, start, stop, step), nous extrayons la sous-séquence souhaitée. [6 , 8, 10] La conversion du résultat en liste à l'aide de list(islice(...)) nous permet d'imprimer la sous-séquence

from itertools import islice

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
start = 5
stop = 10
step = 2
subsequence = list(islice(numbers, start, stop, step))
print(subsequence)

Sortie

[6, 8, 10]

Conclusion

Dans cet article, nous avons expliqué comment utiliser la méthode de découpage pour obtenir la somme des k derniers éléments. La méthode de découpage fournit un moyen concis et efficace d’effectuer de tels calculs et permet d’obtenir facilement la somme des k derniers éléments de la liste. La méthode de découpage peut également être utilisée à d'autres fins, comme extraire des sous-séquences, sauter des éléments avec des valeurs de pas, inverser des séquences, obtenir les k derniers éléments, etc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer