Re: [Python] itertools.product e segmentaton fault
2015-02-25 15:03 GMT+00:00 Carlos Catucci carlos.catu...@gmail.com: Salve gente stavolta non so dove sbattere la testa. Devo avere le combinazioni possibili di una seire di liste. Esempio L1 = [a,b,c,] L2 = [d,e] L3 = [f,g] Mi servono [a.d.f],[a.d.g],[a.e.f],[a.e.g], [b.d.f],[b.d.g],[b.e.f],[b.e.g.], [c.d.f],[c.d.g],[c.e.f],[c.e.g] solo che la lista che mi crea problemi e' [[3760], [3759, 3762, 3763, 3770], [3769, 3778], [7607, 3781, 3780, 3779, 3777, 3773, 3774, 14617], [7476, 3788, 7475, 3786, 7472, 16514, 3784, 7470, 3783, 3789, 7477, 7608], [3806, 3805, 3804, 3803, 3802, 7532, 7530, 7534, 3813], [17164, 7486, 7490, 7491, 7492, 3814, 7495, 3818], [3819, 4216], [4217, 4220], [4219, 4268], [4267, 6475, 4273], [4271, 4272, 18235], [18236, 18244], [18245, 18246, 20232], [20234, 20237], [20236, 34978], [8389]] Ho idea che un totale di 13 liste di cui la piu' lunga conta 12 elementi e un'altro paio 8 o 9 elemnti, sia piu' di quanto il povero itertools.product (che suppongo a questo punto usi la ricorsivita') possa reggere, infatti mi tira fuori un bellissimo segmentation fault. Mi choiedo, c'e' quna strada alternativa per fare la stessa cosa che fa product con una diversa libreria? Carlos Il prodotto cartesiano di N liste di dimensioni N1, N2, N3.. è un elemento di dimension N1*N2*N3*... Ha complessità esponenziale, quindi occhio ai numeri :) Nel tuo caso: import functools liste = [[3760], [3759, 3762, 3763, 3770], [3769, 3778], [7607, 3781, 3780, 3779, 3777, 3773, 3774, 14617], [7476, 3788, 7475, 3786, 7472, 16514, 3784, 7470, 3783, 3789, 7477, 7608], [3806, 3805, 3804, 3803, 3802, 7532, 7530, 7534, 3813], [17164, 7486, 7490, 7491, 7492, 3814, 7495, 3818], [3819, 4216], [4217, 4220], [4219, 4268], [4267, 6475, 4273], [4271, 4272, 18235], [18236, 18244], [18245, 18246, 20232], [20234, 20237], [20236, 34978], [8389]] functools.reduce(lambda a,b: a*len(b), liste, 1) Esce 95'551'488 Se ci aggiungi un'altra lista da 10 elementi, diventano 950 milioni di disposizioni. Ora, io suppongo che il tuo problema non sia dovuto alla ricorsione, ma proprio alla scala del problema... 95 milioni di oggetti non sono necessariamente facili da gestire. Non so com'é implementata itertools.product, ma secondo me non usa la ricorsione. Ed è pure un generatore, quindi non si incanta neanche a fare tutti i conti prima del necessario (quindi, anche fosse ricorsiva, il problema è legato a quante next() usi). Sei sicuro di stare usando il metodo giusto per risolvere il problema? Non hai alternative a visitare tutte le combinazioni? ~Ale ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] itertools.product e segmentaton fault
Salve gente stavolta non so dove sbattere la testa. Devo avere le combinazioni possibili di una seire di liste. Esempio L1 = [a,b,c,] L2 = [d,e] L3 = [f,g] Mi servono [a.d.f],[a.d.g],[a.e.f],[a.e.g], [b.d.f],[b.d.g],[b.e.f],[b.e.g.], [c.d.f],[c.d.g],[c.e.f],[c.e.g] solo che la lista che mi crea problemi e' [[3760], [3759, 3762, 3763, 3770], [3769, 3778], [7607, 3781, 3780, 3779, 3777, 3773, 3774, 14617], [7476, 3788, 7475, 3786, 7472, 16514, 3784, 7470, 3783, 3789, 7477, 7608], [3806, 3805, 3804, 3803, 3802, 7532, 7530, 7534, 3813], [17164, 7486, 7490, 7491, 7492, 3814, 7495, 3818], [3819, 4216], [4217, 4220], [4219, 4268], [4267, 6475, 4273], [4271, 4272, 18235], [18236, 18244], [18245, 18246, 20232], [20234, 20237], [20236, 34978], [8389]] Ho idea che un totale di 13 liste di cui la piu' lunga conta 12 elementi e un'altro paio 8 o 9 elemnti, sia piu' di quanto il povero itertools.product (che suppongo a questo punto usi la ricorsivita') possa reggere, infatti mi tira fuori un bellissimo segmentation fault. Mi choiedo, c'e' quna strada alternativa per fare la stessa cosa che fa product con una diversa libreria? Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
Il 25 febbraio 2015 16:03, Carlos Catucci carlos.catu...@gmail.com ha scritto: Ho idea che un totale di 13 liste di cui la piu' lunga conta 12 elementi e un'altro paio 8 o 9 elemnti, sia piu' di quanto il povero itertools.product (che suppongo a questo punto usi la ricorsivita') possa reggere, infatti mi tira fuori un bellissimo segmentation fault. Non credo che usi la ricorsione altrimenti darebbe un errore di ricorsione troppo profonda. Il risultato che vuoi ottenere è una lista di: 95.551.488 di elementi. Comunque da me funziona. -- Daniele www.fugamatematica.blogspot.com giusto! nel verso forse è perché non guardiamo le cose Quando non ci capiamo, ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
On Feb 25, 2015 5:42 PM, Carlos Catucci carlos.catu...@gmail.com wrote: Comunque scrivendo for row in itertools.product(*liste): Ma scusa, prima cosa facevi? Gli itertools vanno usati proprio così. Mica devi fare list(...) altrimenti scoppia tutto con tanti elementi. Ciao. Marco. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
2015-02-25 17:41 GMT+01:00 Carlos Catucci carlos.catu...@gmail.com: qry = INSERT INTO importdata_combinazioni (paragraph_id, parent_id, combinazione) VALUES (%s, %s, '%s'); % (old_para, old_parent, list(row)) Bobby Tables. © -- |:**THE BEER-WARE LICENSE** (Revision 42): | mi...@python.it wrote this mail. As long as you retain | this notice you can do whatever you want with this stuff. | If we meet some day, and you think this stuff is worth it, | you can buy me a beer in return. |--Carlo Miron : ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
On Wed, Feb 25 2015, Carlo Miron wrote: 2015-02-25 17:41 GMT+01:00 Carlos Catucci carlos.catu...@gmail.com: qry = INSERT INTO importdata_combinazioni (paragraph_id, parent_id, combinazione) VALUES (%s, %s, '%s'); % (old_para, old_parent, list(row)) Bobby Tables. :D ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] byte e python 2.7.9
Ora non ho modo di provarlo ma credo che struct.unpack(c, serie) possa essere utile. https://docs.python.org/2/library/struct.html Il giorno mer 25 feb 2015 18:41 Filippo Dal Bosco - filippo.dalbo...@whiteready.com ha scritto: python 2.7.9 Data una serie di bytes tipo questa: serie= b'R\xa0\xb6\xc9u\x0f](\t$\xd4' se faccio print serie ottengo (circa..) R���u ]($� come faccio invece ad ottenere proprio questo b'R\xa0\xb6\xc9u\x0f](\t$\xd4' detto in altre parole come faccio a stampare la rappresentazione ( =il significante) del byte invece che il suo significato? ho provato in molti modi ma non ci sono riuscito sono solo riuscito ad ottenere una lista print map(None,serie) ma non mi va bene. -- Filippo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
2015-02-25 17:59 GMT+01:00 Marco Beri marcob...@gmail.com: Mica devi fare list(...) altrimenti scoppia tutto con tanti elementi. Ovvio che lo facevo, senno' come facevo a crearmi il problema ;) Avevo trovato un esempio con list esiccome con le liste iniziali (piccine) andava bene ... Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] byte e python 2.7.9
python 2.7.9 Data una serie di bytes tipo questa: serie= b'R\xa0\xb6\xc9u\x0f](\t$\xd4' se faccio print serie ottengo (circa..) R���u]($� come faccio invece ad ottenere proprio questo b'R\xa0\xb6\xc9u\x0f](\t$\xd4' detto in altre parole come faccio a stampare la rappresentazione ( =il significante) del byte invece che il suo significato? ho provato in molti modi ma non ci sono riuscito sono solo riuscito ad ottenere una lista print map(None,serie) ma non mi va bene. -- Filippo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
2015-02-25 17:24 GMT+01:00 Daniele Zambelli daniele.zambe...@gmail.com: Comunque da me funziona. Quanta RAM hai? No perche' mi dcievano che la NASA usa Python, si sa mai che tu lavori li. Oppure alla ILM ;) Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
Comunque scrivendo for row in itertools.product(*liste): qry = INSERT INTO importdata_combinazioni (paragraph_id, parent_id, combinazione) VALUES (%s, %s, '%s'); % (old_para, old_parent, list(row)) sembra che per ora tenga botta, vi so dire (domani?) se ci arriva in fodno. Meno male che non e' un lavoro da eseguire spesso. Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
Carlos Catucci wrote: qry = INSERT INTO importdata_combinazioni (paragraph_id, parent_id, combinazione) VALUES (%s, %s, '%s'); % (old_para, old_parent, list(row)) Carlo Miron wrote: Bobby Tables. © Per la precisione: Robert'); DROP TABLE students;--, nicknamed Little Bobby Tables http://www.explainxkcd.com/wiki/index.php/Little_Bobby_Tables -- Nicola 'tekNico' Larosa http://www.tekNico.net/ Having a female-typical corpus callosum isn't a bug, it's a feature. - Eric Raymond, August 2013 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
On 25 February 2015 at 18:38, Nicola Larosa n...@teknico.net wrote: Robert'); DROP TABLE students;--, nicknamed Little Bobby Tables Non si finisce davvero mai di apprendere. Per fortuna. Fino a che si impara si e' vivi e pensanti Muchas gracias Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] byte e python 2.7.9
On 25/02/2015 18:59, Massimiliano della Rovere wrote: Ora non ho modo di provarlo ma credo che struct.unpack(c, serie) possa essere utile. https://docs.python.org/2/library/struct.html Il giorno mer 25 feb 2015 18:41 Filippo Dal Bosco - filippo.dalbo...@whiteready.com mailto:filippo.dalbo...@whiteready.com ha scritto: python 2.7.9 Data una serie di bytes tipo questa: serie= b'R\xa0\xb6\xc9u\x0f](\t$\xd4' se faccio print serie ottengo (circa..) R���u ]($� come faccio invece ad ottenere proprio questo b'R\xa0\xb6\xc9u\x0f](\t$\xd4' print [chr(ord(c)) for c in serie] Ciao Loris ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] byte e python 2.7.9
2015-02-25 18:41 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: python 2.7.9 Data una serie di bytes tipo questa: serie= b'R\xa0\xb6\xc9u\x0f](\t$\xd4' se faccio print serie ottengo (circa..) R���u ]($� come faccio invece ad ottenere proprio questo b'R\xa0\xb6\xc9u\x0f](\t$\xd4' In python3 fa la cosa giusta. detto in altre parole come faccio a stampare la rappresentazione ( =il significante) del byte invece che il suo significato? print repr(serie) Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] byte e python 2.7.9
On 25/02/2015 18:59, Massimiliano della Rovere wrote: Ora non ho modo di provarlo ma credo che struct.unpack(c, serie) possa essere utile. https://docs.python.org/2/library/struct.html Il giorno mer 25 feb 2015 18:41 Filippo Dal Bosco - filippo.dalbo...@whiteready.com mailto:filippo.dalbo...@whiteready.com ha scritto: python 2.7.9 Data una serie di bytes tipo questa: serie= b'R\xa0\xb6\xc9u\x0f](\t$\xd4' se faccio print serie ottengo (circa..) R���u ]($� come faccio invece ad ottenere proprio questo b'R\xa0\xb6\xc9u\x0f](\t$\xd4' print [chr(ord(c)) for c in serie] azz, non avevo capito! si anche in python 2.7.6 si puo' fare: print repr(serie) Ciao Loris ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] itertools.product e segmentaton fault
On Feb 25, 2015 8:10 PM, Carlos Catucci carlos.catu...@gmail.com wrote: On 25 February 2015 at 18:38, Nicola Larosa n...@teknico.net wrote: Robert'); DROP TABLE students;--, nicknamed Little Bobby Tables Non si finisce davvero mai di apprendere. Per fortuna. Fino a che si impara si e' vivi e pensanti Muchas gracias Ah, per chi non conosce: http://xkcd.com/327/ Ciao. Marco. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python