Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1307 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [Python] Particularité python pour les listes ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Python] Particularité python pour les listes ?

n°487423
protoinou
Posté le 14-08-2003 à 16:09:06  profilanswer
 

Salut çà va ?
 
Je voulais savoir si j'ai 2 liste:
 
a=['banane','chocolat','crouton','carotte']
b=['banane','chocolat']
 
est ce que je peux utiliser une fonction pour avoir c
c=['crouton','carotte'] ??
 
 

mood
Publicité
Posté le 14-08-2003 à 16:09:06  profilanswer
 

n°487448
Taz
bisounours-codeur
Posté le 14-08-2003 à 16:18:50  profilanswer
 

ben oui. regarde comment ça marche le slicing.
 
dans ton cas
 
a[-2:]

n°487462
protoinou
Posté le 14-08-2003 à 16:23:32  profilanswer
 

Bah oui dans ce cas précis, mais moi je le veux bcp plus généralement
 
j'ai n'importe quelle liste A et n'importe quelle liste B
 
Je pouvoir avoir liste C qui sera la liste A - la liste B
 
donc voilà

n°487483
Taz
bisounours-codeur
Posté le 14-08-2003 à 16:36:34  profilanswer
 

ben alors c'est pas une histoire de liste, plutot d'ensemble. y a un nouveau module 2.3 sinon, je suis sur que t'es assez intelligent pour faire une difference d'ensemble en 1 ligne

n°487526
Taz
bisounours-codeur
Posté le 14-08-2003 à 17:24:29  profilanswer
 

Citation :

>>> diff= lambda x,y: [i for i in x if i not in y]
>>> diff(range(10), range(5, 15))
[0, 1, 2, 3, 4]
>>> diff= lambda x,y: [i for i in x if i not in y]
>>> diff(range(10), range(5, 15))
[0, 1, 2, 3, 4]
>>> import sets
>>> sets.Set(range(10)).difference(sets.Set(range(5, 15)))
Set([0, 1, 2, 3, 4])


 

n°489978
protoinou
Posté le 18-08-2003 à 09:37:42  profilanswer
 

Taz a écrit :

Citation :

>>> diff= lambda x,y: [i for i in x if i not in y]
>>> diff(range(10), range(5, 15))
[0, 1, 2, 3, 4]
>>> diff= lambda x,y: [i for i in x if i not in y]
>>> diff(range(10), range(5, 15))
[0, 1, 2, 3, 4]
>>> import sets
>>> sets.Set(range(10)).difference(sets.Set(range(5, 15)))
Set([0, 1, 2, 3, 4])


 
 


 
Oui oui c'est joli çà mais moi je ne l'ai pas le module sets
 
Valala ...  
 
Et je ne pige pas déjà prkoi tu lance 2 fois le meme lambda ?

n°489982
protoinou
Posté le 18-08-2003 à 09:44:32  profilanswer
 

C'est bon j'ai rien dit :=)
 
Merci beacoup d'ailleurs, c'était tout con mais çà marche du feu de diable déjà


Message édité par protoinou le 18-08-2003 à 10:03:33
n°489985
Taz
bisounours-codeur
Posté le 18-08-2003 à 09:48:42  profilanswer
 

ben Python2.3 mec qui est la nouvelle version stable avec son lot de nouveautés donc le modules sets, bien plus rapide que ma solution avec les listes classiques

n°490100
protoinou
Posté le 18-08-2003 à 11:14:56  profilanswer
 

Ah ok c'était 2 solutions différentes alors :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [Python] Particularité python pour les listes ?

 

Sujets relatifs
(Common) LISP ou Python ?[Python]Ordonner une liste d'objet (sorting)
[python]classe + liste dans constructeur ??[Python] Communication avec un serveur (pop)
[Python] Session comme en PHP[python]Question de saut de ligne
communication client/serveur avec python[python]import
[Python]Comment est ce qu'on esecute un script bash(résolu)[Python] Threads : retour de la fonction executée par un thread
Plus de sujets relatifs à : [Python] Particularité python pour les listes ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR