736 votes

Quelle est la syntaxe idiomatique pour précéder une courte liste en Python ?

list.append() est le choix évident pour ajouter à la fin d'une liste. Voici une explication raisonnable pour les disparus list.prepend() . En supposant que ma liste soit courte et que les problèmes de performance soient négligeables, est-ce que

list.insert(0, x)

ou

list[0:0] = [x]

idiomatique ?

2voto

Paul Manta Points 9409

La première est certainement beaucoup plus claire et exprime bien mieux l'intention : vous ne voulez insérer qu'un seul élément, pas une liste entière.

2voto

Prabhav Rajeev Points 19

Examinons 4 méthodes

  1. Utilisation de la fonction insert()

    l = list(range(5)) l [0, 1, 2, 3, 4] l.insert(0, 5) l [5, 0, 1, 2, 3, 4]

  2. En utilisant [] et +

    l = list(range(5)) l [0, 1, 2, 3, 4] l = [5] + l l [5, 0, 1, 2, 3, 4]

  3. Utilisation du découpage en tranches

    l = list(range(5)) l [0, 1, 2, 3, 4] l[:0] = [5] l [5, 0, 1, 2, 3, 4]

  4. Utilisation de collections.deque.appendleft()

    from collections import deque

    l = list(range(5)) l [0, 1, 2, 3, 4] l = deque(l) l.appendleft(5) l = list(l) l [5, 0, 1, 2, 3, 4]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X