[python-nl] Aftrekken van lists...
Ivo Timmermans
ivo.timmermans at treparel.nl
Sat Mar 1 23:57:56 CET 2008
Het probleem met lists is dat volgorde en positie in de lijst
belangrijk zijn.
Bij voorbeeld, wat zou: [1, 2, 3] - [2] moeten teruggeven? [1, 3],
[1, None, 3], of nog iets anders? [1, 2, 3] als resultaat is ook te
verdedigen, immers op element 0 in de eerste lijst staat geen 2.
In sets is de volgorde niet belangrijk, en kan dus een element op een
zinvolle manier eruit verwijderd worden.
Op 1-mrt-2008, om 23:48 heeft Andre van der Vlies het volgende
geschreven:
>
> Rob Hooft wrote:
>> Andre,
>>
>> De manier waarop jij een list gebruiken wilt lijkt meer op een set.
>> Probeer het eens met sets te doen!
>>
>> amigo2[128]% python
>> Python 2.4.4 (#2, Jan 3 2008, 13:36:28)
>> [GCC 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)] on linux2
>> Type "help", "copyright", "credits" or "license" for more
>> information.
>>>>> set((1,2,3))-set((1,))
>> set([2, 3])
>>>>>
>
> Mkee...
> Dan wordt 't zoiets als dit dus:
> list( set(foo) - set(bar) )
>
> Ik moet 't met lists doen...
>
> En dan nog... 't Lijkt mij 'onvolledig' dat je wel lists kan
> optellen maar niet van
> elkaar aftrekken.
>
>>
>> Op 01-03-08 heeft Andre van der Vlies<andre op vandervlies.xs4all.nl>
>> het
>> volgende geschreven:
>>>
>>> Hoi,
>>> Is er geen '-' (__sub__) operator voor lists??
>>>
>>> Je kan wel twee lists optellen, maar niet aftrekken?
>>>
>>> Bijv.
>>> foo = ["bla", "blie", "blo", "blub"]
>>> bar = ["blie", "blub"]
>>>
>>> foo + bar = ["bla", "blie", "blo", "blub", "blie", "blub"]
>>>
>>> foo - bar = TypeError: unsupported operand type(s) for -: 'list'
>>> and 'list'
>>>
>>> Ik doe nu zoiets als:
>>> result = [ i for i in foo if i not in bar ]
>>> result = ["bla", "blo"]
>>>
>>>
>>> Wat ikzelf nogal cryptisch vindt...
>>>
>>> Iets voor een PEP? Of is dat overdreven?
>>>
>>>
>>> --
>>> Andre van der Vlies <andre op vandervlies.xs4all.nl>
>>> Certifiable Linux/UNIX engineer (CLUE)
>>> Homepage: http://vandervlies.xs4all.nl/~andre
>>> Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8
>>> --
>>> "Programming isn't a craft, it's an art."
>>> () ascii ribbon campaign - against html e-mail
>>> /\ - against microsoft attachments
>>> ^[^#]
>>>
>>> --
>>>
>>> _______________________________________________
>>> Python-nl mailing list
>>> Python-nl op python.org
>>> http://mail.python.org/mailman/listinfo/python-nl
>>>
>>
>>
>> --
>> Rob W. W. Hooft || rob op hooft.net || http://www.hooft.net/people/rob
>>
>
>
> --
> Andre van der Vlies <andre op vandervlies.xs4all.nl>
> Certifiable Linux/UNIX engineer (CLUE)
> Homepage: http://vandervlies.xs4all.nl/~andre
> Key fingerprint = 397C 7479 67DB 9306 23DC B423 7B58 CD5A 6EFF 5CF8
> --
> "Programming isn't a craft, it's an art."
> () ascii ribbon campaign - against html e-mail
> /\ - against microsoft attachments
> ^[^#]
> --
>
> _______________________________________________
> Python-nl mailing list
> Python-nl op python.org
> http://mail.python.org/mailman/listinfo/python-nl
Ivo Timmermans
+31 (0)6-1400 5987
ivo.timmermans op treparel.nl
Treparel Information Solutions
Delftechpark 26, Suite 2-26
2628XH Delft, Netherlands
KvK Haaglanden: 27285728
www.treparel.com
------------- volgend deel ------------
Een HTML-bijlage is verwijderd...
URL: http://mail.python.org/pipermail/python-nl/attachments/20080301/6d9af8d7/attachment-0001.htm
More information about the Python-nl
mailing list