From andre at vandervlies.xs4all.nl Sat Mar 1 23:20:40 2008 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Sat, 1 Mar 2008 23:20:40 +0100 (CET) Subject: [python-nl] Aftrekken van lists... Message-ID: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> 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 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 ^[^#] -- From rob at hooft.net Sat Mar 1 23:38:01 2008 From: rob at hooft.net (Rob Hooft) Date: Sat, 1 Mar 2008 23:38:01 +0100 Subject: [python-nl] Aftrekken van lists... In-Reply-To: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> References: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> Message-ID: <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> 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]) >>> Rob Op 01-03-08 heeft Andre van der Vlies 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 > 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 at python.org > http://mail.python.org/mailman/listinfo/python-nl > -- Rob W. W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob From andre at vandervlies.xs4all.nl Sat Mar 1 23:48:21 2008 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Sat, 1 Mar 2008 23:48:21 +0100 (CET) Subject: [python-nl] Aftrekken van lists... In-Reply-To: <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> References: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> Message-ID: <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> 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 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 >> 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 at python.org >> http://mail.python.org/mailman/listinfo/python-nl >> > > > -- > Rob W. W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob > -- Andre van der Vlies 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 ^[^#] -- From armijn at uulug.nl Sat Mar 1 23:58:54 2008 From: armijn at uulug.nl (Armijn Hemel) Date: Sat, 01 Mar 2008 23:58:54 +0100 Subject: [python-nl] Aftrekken van lists... In-Reply-To: <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> References: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> Message-ID: <1204412334.2747.17.camel@kroepoek.local> On Sat, 2008-03-01 at 23:48 +0100, Andre van der Vlies wrote: > En dan nog... 't Lijkt mij 'onvolledig' dat je wel lists kan optellen > maar niet van > elkaar aftrekken. Misschien als je definieert wat "lijsten van elkaar aftrekken" betekent? Stel, je hebt een lijst 'a' en een lijst 'b' en deze wil je van elkaar aftrekken. Bedoel je dan: * alle elementen die in a voorkomen, maar niet in b * alle elementen die in a of b voorkomen, maar niet in beide etc. armijn -- --------------------------------------------------------------------------- armijn at uulug.nl | http://www.uulug.nl/ | UULug: Utrecht Linux Users Group --------------------------------------------------------------------------- From ivo.timmermans at treparel.nl Sat Mar 1 23:57:56 2008 From: ivo.timmermans at treparel.nl (Ivo Timmermans) Date: Sat, 1 Mar 2008 23:57:56 +0100 Subject: [python-nl] Aftrekken van lists... In-Reply-To: <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> References: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> Message-ID: 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 >> 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 >>> 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 > 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 From stappers at stappers.nl Sun Mar 2 09:51:51 2008 From: stappers at stappers.nl (Geert Stappers) Date: Sun, 2 Mar 2008 09:51:51 +0100 Subject: [python-nl] Aftrekken van lists... In-Reply-To: <1204412334.2747.17.camel@kroepoek.local> References: <48945.192.168.54.1.1204410040.squirrel@vandervlies.xs4all.nl> <571a675e0803011438r125b0297xabf5021da29183ea@mail.gmail.com> <38026.192.168.54.1.1204411701.squirrel@vandervlies.xs4all.nl> <1204412334.2747.17.camel@kroepoek.local> Message-ID: <20080302085151.GB13743@gpm.stappers.nl> Op 01-03-2008 om 23:58 schreef Armijn Hemel: > On Sat, 2008-03-01 at 23:48 +0100, Andre van der Vlies wrote: > > En dan nog... 't Lijkt mij 'onvolledig' dat je wel lists kan optellen > > maar niet van > > elkaar aftrekken. > > Misschien als je definieert wat "lijsten van elkaar aftrekken" betekent? > > Stel, je hebt een lijst 'a' en een lijst 'b' en deze wil je van elkaar > aftrekken. Bedoel je dan: > > * alle elementen die in a voorkomen, maar niet in b > * alle elementen die in a of b voorkomen, maar niet in beide Mijn inziens wordt het plusteken ten onrechte door Andre gezien als optelteken. De plus die hij bij lists gebruikt, is dezelfde plus als om strings aan elkaar te plakken. | $ python | Python 2.4.4 (#2, Jan 3 2008, 13:39:07) | [GCC 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)] on linux2 | Type "help", "copyright", "credits" or "license" for more information. | >>> print 'aan' + 'elkaar' + 'geplakt' | aanelkaargeplakt | >>> Van die "plusteken bewerking" is ook geen "minteken bewerking" beschikbaar. Cheers Geert Stappers From andre at vandervlies.xs4all.nl Sun Mar 2 16:40:26 2008 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Sun, 2 Mar 2008 16:40:26 +0100 (CET) Subject: [python-nl] [Re: Aftrekken van lists...] Message-ID: <57277.192.168.54.1.1204472426.squirrel@vandervlies.xs4all.nl> Ivo Timmermans wrote: > 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. > Ja, maar.... Positie maakt bij de '+'-operator ook niets uit... [1,2,4,5,6] + [2.4,3] != [1,2,2,4,4,3,5,6] Idd. 'to add' != 'optellen'. Sets zijn in dit verband zinvoller (en eleganter).... En met 'aftrekken' bedoelde ik idd. Verwijderen uit lijst 'a' als het (item) ook in lijst 'b' voorkomt... De andere definitie (verwijderen als (item) in lijst 'a' en 'b' voorkomt) voelt meer als 'delen'... Ik ga voor sets, dat komt dichter bij wat ik bedoelde (en ziet er fraai uit) -- Andre van der Vlies 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 ^[^#] -- -- Andre van der Vlies 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 ^[^#] -- From reinoud.v at n.leeuwen.net Sun Mar 2 17:05:46 2008 From: reinoud.v at n.leeuwen.net (Reinoud van Leeuwen) Date: Sun, 2 Mar 2008 17:05:46 +0100 Subject: [python-nl] [Re: Aftrekken van lists...] In-Reply-To: <57277.192.168.54.1.1204472426.squirrel@vandervlies.xs4all.nl> References: <57277.192.168.54.1.1204472426.squirrel@vandervlies.xs4all.nl> Message-ID: <20080302160546.GR21086@spoetnik.xs4all.nl> On Sun, Mar 02, 2008 at 04:40:26PM +0100, Andre van der Vlies wrote: > Ja, maar.... Positie maakt bij de '+'-operator ook niets uit... Wat de + operator doet bij lists is erg goed vergelijkbaar met concatenatie. Zoals ook in veel talen met string kan. En voorwaarts is dat vrij duidelijk 'foor ' + 'bar' = 'foor bar'. Maar andersom is het al een stuk minder duidelijk: 'foor bar' - 'bar' lijkt logischerwijs misschien 'foor '. Of zou 'foo ' beter zijn? Het is gewoon bij strings en lists (en in sommige talen zijn dat ook dezelfde dingen) gewoon niet een erg voor de hand liggende bewerking. En zoals in de wiskunde is het met sets een stuk duidelijker. -- __________________________________________________ "Nothing is as subjective as reality" Reinoud van Leeuwen reinoud.v at n.leeuwen.net http://reinoud.van.leeuwen.net __________________________________________________ From andre at vandervlies.xs4all.nl Sun Mar 2 20:43:35 2008 From: andre at vandervlies.xs4all.nl (Andre van der Vlies) Date: Sun, 2 Mar 2008 20:43:35 +0100 (CET) Subject: [python-nl] [Re: Aftrekken van lists...] In-Reply-To: <20080302160546.GR21086@spoetnik.xs4all.nl> References: <57277.192.168.54.1.1204472426.squirrel@vandervlies.xs4all.nl> <20080302160546.GR21086@spoetnik.xs4all.nl> Message-ID: <51281.192.168.54.1.1204487015.squirrel@vandervlies.xs4all.nl> Reinoud van Leeuwen wrote: > On Sun, Mar 02, 2008 at 04:40:26PM +0100, Andre van der Vlies wrote: > >> Ja, maar.... Positie maakt bij de '+'-operator ook niets uit... > > Wat de + operator doet bij lists is erg goed vergelijkbaar met > concatenatie. Zoals ook in veel talen met string kan. En voorwaarts is dat > vrij duidelijk 'foor ' + 'bar' = 'foor bar'. > Maar andersom is het al een stuk minder duidelijk: 'foor bar' - 'bar' > lijkt logischerwijs misschien 'foor '. Of zou 'foo ' beter zijn? > 'foo r' lijkt mij. Er staat immers maar een (1) 'r' in bar. De 'r' die overblijft komt van 'bar' en de spatie lijkt mij ook relevant.. > Het is gewoon bij strings en lists (en in sommige talen zijn dat ook > dezelfde dingen) gewoon niet een erg voor de hand liggende bewerking. En > zoals in de wiskunde is het met sets een stuk duidelijker. > Dat iig. -- Andre van der Vlies 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 ^[^#] -- From asmodai at in-nomine.org Sun Mar 2 21:22:30 2008 From: asmodai at in-nomine.org (Jeroen Ruigrok van der Werven) Date: Sun, 2 Mar 2008 21:22:30 +0100 Subject: [python-nl] [Re: Aftrekken van lists...] In-Reply-To: <51281.192.168.54.1.1204487015.squirrel@vandervlies.xs4all.nl> References: <57277.192.168.54.1.1204472426.squirrel@vandervlies.xs4all.nl> <20080302160546.GR21086@spoetnik.xs4all.nl> <51281.192.168.54.1.1204487015.squirrel@vandervlies.xs4all.nl> Message-ID: <20080302202230.GC62047@nexus.in-nomine.org> -On [20080302 20:45], Andre van der Vlies (andre at vandervlies.xs4all.nl) wrote: >'foo r' lijkt mij. Er staat immers maar een (1) 'r' in bar. De 'r' die >overblijft komt van 'bar' en de spatie lijkt mij ook relevant.. Bij strings is de positie belangrijk en kan je niet zomaar willekeurige letters tegen elkaar wegstrepen. Dus wat je suggereert gaat niet op. In dit geval is de + geen optel operator maar een concatenation operator (vergelijkbaar met a||b als je het via vector calculus zou willen uitleggen). -- Jeroen Ruigrok van der Werven / asmodai ????? ?????? ??? ?? ?????? http://www.in-nomine.org/ | http://www.rangaku.org/ If you walk, just walk. If you sit, just sit. But whatever you do, don't wobble...