[Python] Particularité python pour les listes ?

Particularité python pour les listes ? [Python] - Python - Programmation

Marsh Posté le 14-08-2003 à 16:09:06    

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'] ??
 
 

Reply

Marsh Posté le 14-08-2003 à 16:09:06   

Reply

Marsh Posté le 14-08-2003 à 16:18:50    

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

Reply

Marsh Posté le 14-08-2003 à 16:23:32    

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à

Reply

Marsh Posté le 14-08-2003 à 16:36:34    

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

Reply

Marsh Posté le 14-08-2003 à 17:24:29    

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])


 

Reply

Marsh Posté le 18-08-2003 à 09:37:42    

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 ?

Reply

Marsh Posté le 18-08-2003 à 09:44:32    

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
Reply

Marsh Posté le 18-08-2003 à 09:48:42    

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

Reply

Marsh Posté le 18-08-2003 à 11:14:56    

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

Reply

Sujets relatifs:

Leave a Replay

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