Incrémenter une liste de facon ordonnée ?

Incrémenter une liste de facon ordonnée ? - Python - Programmation

Marsh Posté le 02-06-2006 à 15:19:32    

Salut.
 
Je débute en Python et je bute sur un problème.
 
Existe-il une methode pour ajouter des items dans une liste de facon ordonnée.
Je sais que je pourrais faire des append() et une fois la liste complête, faire un sort() mais est-il possible de directement placer mon item à la bonne place.
 
Par exemple :
MaListe = [1, 2, 4, 6, 7]
Je veus ajouter la valeur 5 : MaListe.Methode (5) et obtenir directement MaListe = [1, 2, 4, 5, 6, 7]
 
Est-ce que cela existe en Python ?
 
Merci

Reply

Marsh Posté le 02-06-2006 à 15:19:32   

Reply

Marsh Posté le 02-06-2006 à 18:45:36    

Pas à ma connaissance... mais attendons l'avis des experts.

Reply

Marsh Posté le 02-06-2006 à 19:57:17    

pas mieux.
 
on peut en savoir un peu plus sur le contexte, l'utilisation de la liste, le but de l'insertion ordonnée tout ça?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 02-06-2006 à 23:26:02    

Pour le plaisir de me faire engueuler si je raconte des bêtises ;) , voilà une manière de faire ce que tu veux :
 

Code :
  1. class Liste(object):
  2.     def __init__(self, _l=None):
  3.         self.liste = []
  4.         for e in _l:
  5.             self.append( e )
  6.     def append(self, _e):
  7.         self.liste.append(_e)
  8.         self.liste.sort()
  9.     def __repr__(self):
  10.         return repr(self.liste)
  11. l = Liste( [1,2,5] )
  12. print l     # affiche [1,2,5]
  13. l.append( 3 )
  14. print l     # affiche [1,2,3,5]


 
Fais gaffe quand même : je n'ai rien d'un pro !

Reply

Marsh Posté le 02-06-2006 à 23:28:56    

je sais pas si ya, sinon tu codes une insertion par dichotomie

Reply

Marsh Posté le 03-06-2006 à 08:24:52    

Reply

Marsh Posté le 03-06-2006 à 08:36:25    

c'est ça ! et y a pas mieux.

Reply

Marsh Posté le 03-06-2006 à 09:56:08    


Un script de l'effbot, c'est un gage de qualité :jap:

Reply

Marsh Posté le 05-06-2006 à 16:46:47    

Merci tout le monde, ca marche nickel !
Cela va pouvoir me permettre de revenir rapidement avec plein de nvlles questions :)

Reply

Marsh Posté le 20-07-2014 à 04:19:28    

Bonjour,
MaListe = [1, 2, 4, 6, 7]
MaListe.insert(3,5) #MaListe.insert(index, object)
#MaListe = [1, 2, 4, 5, 6, 7]

Reply

Marsh Posté le 20-07-2014 à 04:19:28   

Reply

Marsh Posté le 21-07-2014 à 19:03:47    

zak-ihm a écrit :

Bonjour,
MaListe = [1, 2, 4, 6, 7]
MaListe.insert(3,5) #MaListe.insert(index, object)
#MaListe = [1, 2, 4, 5, 6, 7]


Le remontage de topics de 2006, ce serait bien d'éviter, surtout quand on a pas compris la question [:dawa]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed