-
pythonistyScritto daNon Autenticatoil 2008-10-21 22:23:00.0 alle 2008-10-21 22:23:00.0come si può migliorare questo codice?
deve cercare le posizioni in cui una stringa (pattern senza espressioni regolari) in un'altra stringa data
tipo come fa re.findall(), ma senza scomodare il motore che sta dietro il matcher delle regex che è lento.def allindices(string, sub, listindex=[], offset=0): i = string.find(sub, offset) while i >= 0: listindex.append(i) i = string.find(sub, i + 1) return listindex-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:29:00.0 alle 2008-10-21 22:29:00.0
- Scritto da:
> come si può migliorare questo codice?
> deve cercare le posizioni in cui una stringa
> (pattern senza espressioni regolari) in un'altra
> stringa
> data
>
> tipo come fa re.findall(), ma senza scomodare il
> motore che sta dietro il matcher delle regex che
> è
> lento.
>> def allindices(string, sub, listindex=[], > offset=0): > i = string.find(sub, offset) > while i >= 0: > listindex.append(i) > i = string.find(sub, i + 1) > return listindex >
il python fa cagare, ha l'indentazione obbligatoria
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:33:00.0 alle 2008-10-21 22:33:00.0- Scritto da:
>
> - Scritto da:
> > come si può migliorare questo codice?
> > deve cercare le posizioni in cui una stringa
> > (pattern senza espressioni regolari) in un'altra
> > stringa
> > data
> >
> > tipo come fa re.findall(), ma senza scomodare il
> > motore che sta dietro il matcher delle regex che
> > è
> > lento.
> >> > def allindices(string, sub, listindex=[], > > offset=0): > > i = string.find(sub, offset) > > while i >= 0: > > listindex.append(i) > > i = string.find(sub, i + 1) > > return listindex > >
>
> il python fa cagare, ha l'indentazione
> obbligatoria
> [img]http://i.somethingawful.com/forumsystem/emoti
il python è compatto e potente, e ci scrivo bot con 10 righe di codice.-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:35:00.0 alle 2008-10-21 22:35:00.0
- Scritto da:
> - Scritto da:
> >
> > - Scritto da:
> > > come si può migliorare questo codice?
> > > deve cercare le posizioni in cui una stringa
> > > (pattern senza espressioni regolari) in
> un'altra
> > > stringa
> > > data
> > >
> > > tipo come fa re.findall(), ma senza scomodare
> il
> > > motore che sta dietro il matcher delle regex
> che
> > > è
> > > lento.
> > >> > > def allindices(string, sub, listindex=[], > > > offset=0): > > > i = string.find(sub, offset) > > > while i >= 0: > > > listindex.append(i) > > > i = string.find(sub, i + 1) > > > return listindex > > >
> >
> > il python fa cagare, ha l'indentazione
> > obbligatoria
> >
>
>
> il python è compatto e potente, e ci scrivo bot
> con 10 righe di
> codice.
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:38:00.0 alle 2008-10-21 22:38:00.0
- Scritto da:
> - Scritto da:
> >
> > - Scritto da:
> > > come si può migliorare questo codice?
> > > deve cercare le posizioni in cui una stringa
> > > (pattern senza espressioni regolari) in
> un'altra
> > > stringa
> > > data
> > >
> > > tipo come fa re.findall(), ma senza scomodare
> il
> > > motore che sta dietro il matcher delle regex
> che
> > > è
> > > lento.
> > >> > > def allindices(string, sub, listindex=[], > > > offset=0): > > > i = string.find(sub, offset) > > > while i >= 0: > > > listindex.append(i) > > > i = string.find(sub, i + 1) > > > return listindex > > >
> >
> > il python fa cagare, ha l'indentazione
> > obbligatoria
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
>
> il python è compatto e potente, e ci scrivo bot
> con 10 righe di
> codice.
ma dai, un linguaggio con l'indentazione obbligatoria non può essere serio, è peggio del visual basic!
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:40:00.0 alle 2008-10-21 22:40:00.0
- Scritto da:
>
> - Scritto da:
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > come si può migliorare questo codice?
> > > > deve cercare le posizioni in cui una stringa
> > > > (pattern senza espressioni regolari) in
> > un'altra
> > > > stringa
> > > > data
> > > >
> > > > tipo come fa re.findall(), ma senza
> scomodare
> > il
> > > > motore che sta dietro il matcher delle regex
> > che
> > > > è
> > > > lento.
> > > >> > > > def allindices(string, sub, listindex=[], > > > > offset=0): > > > > i = string.find(sub, offset) > > > > while i >= 0: > > > > listindex.append(i) > > > > i = string.find(sub, i + 1) > > > > return listindex > > > >
> > >
> > > il python fa cagare, ha l'indentazione
> > > obbligatoria
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> >
> > il python è compatto e potente, e ci scrivo bot
> > con 10 righe di
> > codice.
>
> ma dai, un linguaggio con l'indentazione
> obbligatoria non può essere serio, è peggio del
> visual basic!
>
lo diceva anche Eric S. Raymond, poi ha cambiato completamente idea-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:45:00.0 alle 2008-10-21 22:45:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > > come si può migliorare questo codice?
> > > > > deve cercare le posizioni in cui una
> stringa
> > > > > (pattern senza espressioni regolari) in
> > > un'altra
> > > > > stringa
> > > > > data
> > > > >
> > > > > tipo come fa re.findall(), ma senza
> > scomodare
> > > il
> > > > > motore che sta dietro il matcher delle
> regex
> > > che
> > > > > è
> > > > > lento.
> > > > >> > > > > def allindices(string, sub, listindex=[], > > > > > offset=0): > > > > > i = string.find(sub, offset) > > > > > while i >= 0: > > > > > listindex.append(i) > > > > > i = string.find(sub, i + 1) > > > > > return listindex > > > > >
> > > >
> > > > il python fa cagare, ha l'indentazione
> > > > obbligatoria
> > > >
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> > >
> > > il python è compatto e potente, e ci scrivo
> bot
> > > con 10 righe di
> > > codice.
> >
> > ma dai, un linguaggio con l'indentazione
> > obbligatoria non può essere serio, è peggio del
> > visual basic!
> >
>
> lo diceva anche Eric S. Raymond, poi ha cambiato
> completamente
> idea
argumentum ad verecundium-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:47:00.0 alle 2008-10-21 22:47:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > > come si può migliorare questo codice?
> > > > > > deve cercare le posizioni in cui una
> > stringa
> > > > > > (pattern senza espressioni regolari) in
> > > > un'altra
> > > > > > stringa
> > > > > > data
> > > > > >
> > > > > > tipo come fa re.findall(), ma senza
> > > scomodare
> > > > il
> > > > > > motore che sta dietro il matcher delle
> > regex
> > > > che
> > > > > > è
> > > > > > lento.
> > > > > >> > > > > > def allindices(string, sub,
> listindex=[], > > > > > > offset=0): > > > > > > i = string.find(sub, offset) > > > > > > while i >= 0: > > > > > > listindex.append(i) > > > > > > i = string.find(sub, i + 1) > > > > > > return listindex > > > > > >
> > > > >
> > > > > il python fa cagare, ha l'indentazione
> > > > > obbligatoria
> > > > >
> > > >
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> > > >
> > > > il python è compatto e potente, e ci scrivo
> > bot
> > > > con 10 righe di
> > > > codice.
> > >
> > > ma dai, un linguaggio con l'indentazione
> > > obbligatoria non può essere serio, è peggio
> del
> > > visual basic!
> > >
> >
> > lo diceva anche Eric S. Raymond, poi ha cambiato
> > completamente
> > idea
>
> argumentum ad verecundium
prendila come vuoi (anche in culo) volevo sottolineare che l'obiezione che alzi non è certo originale-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:53:00.0 alle 2008-10-21 22:53:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > > come si può migliorare questo codice?
> > > > > > > deve cercare le posizioni in cui una
> > > stringa
> > > > > > > (pattern senza espressioni regolari)
> in
> > > > > un'altra
> > > > > > > stringa
> > > > > > > data
> > > > > > >
> > > > > > > tipo come fa re.findall(), ma senza
> > > > scomodare
> > > > > il
> > > > > > > motore che sta dietro il matcher delle
> > > regex
> > > > > che
> > > > > > > è
> > > > > > > lento.
> > > > > > >> > > > > > > def allindices(string, sub,
> > listindex=[], > > > > > > > offset=0): > > > > > > > i = string.find(sub, offset) > > > > > > > while i >= 0: > > > > > > > listindex.append(i) > > > > > > > i = string.find(sub, i + 1) > > > > > > > return listindex > > > > > > >
> > > > > >
> > > > > > il python fa cagare, ha l'indentazione
> > > > > > obbligatoria
> > > > > >
> > > > >
> > > >
> > >
> >
>
> > > > >
> > > > > il python è compatto e potente, e ci
> scrivo
> > > bot
> > > > > con 10 righe di
> > > > > codice.
> > > >
> > > > ma dai, un linguaggio con l'indentazione
> > > > obbligatoria non può essere serio, è peggio
> > del
> > > > visual basic!
> > > >
> > >
> > > lo diceva anche Eric S. Raymond, poi ha
> cambiato
> > > completamente
> > > idea
> >
> > argumentum ad verecundium
>
> prendila come vuoi (anche in culo) volevo
> sottolineare che l'obiezione che alzi non è certo
> originale
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:56:00.0 alle 2008-10-21 22:56:00.0- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > > - Scritto da:
> > > > > > >
> > > > > > > - Scritto da:
> > > > > > > > come si può migliorare questo
> codice?
> > > > > > > > deve cercare le posizioni in cui una
> > > > stringa
> > > > > > > > (pattern senza espressioni regolari)
> > in
> > > > > > un'altra
> > > > > > > > stringa
> > > > > > > > data
> > > > > > > >
> > > > > > > > tipo come fa re.findall(), ma senza
> > > > > scomodare
> > > > > > il
> > > > > > > > motore che sta dietro il matcher
> delle
> > > > regex
> > > > > > che
> > > > > > > > è
> > > > > > > > lento.
> > > > > > > >> > > > > > > > def allindices(string, sub,
> > > listindex=[], > > > > > > > > offset=0): > > > > > > > > i = string.find(sub, offset) > > > > > > > > while i >= 0: > > > > > > > > listindex.append(i) > > > > > > > > i = string.find(sub, i + 1) > > > > > > > > return listindex > > > > > > > >
> > > > > > >
> > > > > > > il python fa cagare, ha l'indentazione
> > > > > > > obbligatoria
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> > > > > >
> > > > > > il python è compatto e potente, e ci
> > scrivo
> > > > bot
> > > > > > con 10 righe di
> > > > > > codice.
> > > > >
> > > > > ma dai, un linguaggio con l'indentazione
> > > > > obbligatoria non può essere serio, è
> peggio
> > > del
> > > > > visual basic!
> > > > >
> > > >
> > > > lo diceva anche Eric S. Raymond, poi ha
> > cambiato
> > > > completamente
> > > > idea
> > >
> > > argumentum ad verecundium
> >
> > prendila come vuoi (anche in culo) volevo
> > sottolineare che l'obiezione che alzi non è
> certo
> > originale
>
> img]http://img234.imageshack.us/img234/4527/specc
toh fatti una culturahttp://www.python.org/about/success/esr/
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:59:00.0 alle 2008-10-21 22:59:00.0
- Scritto da:
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > > - Scritto da:
> > > > > > > >
> > > > > > > > - Scritto da:
> > > > > > > > > come si può migliorare questo
> > codice?
> > > > > > > > > deve cercare le posizioni in cui
> una
> > > > > stringa
> > > > > > > > > (pattern senza espressioni
> regolari)
> > > in
> > > > > > > un'altra
> > > > > > > > > stringa
> > > > > > > > > data
> > > > > > > > >
> > > > > > > > > tipo come fa re.findall(), ma
> senza
> > > > > > scomodare
> > > > > > > il
> > > > > > > > > motore che sta dietro il matcher
> > delle
> > > > > regex
> > > > > > > che
> > > > > > > > > è
> > > > > > > > > lento.
> > > > > > > > >> > > > > > > > > def allindices(string, sub,
> > > > listindex=[], > > > > > > > > > offset=0): > > > > > > > > > i = string.find(sub, offset) > > > > > > > > > while i >= 0: > > > > > > > > > listindex.append(i) > > > > > > > > > i = string.find(sub, i + > 1) > > > > > > > > > return listindex > > > > > > > > >
> > > > > > > >
> > > > > > > > il python fa cagare, ha
> l'indentazione
> > > > > > > > obbligatoria
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> > > > > > >
> > > > > > > il python è compatto e potente, e ci
> > > scrivo
> > > > > bot
> > > > > > > con 10 righe di
> > > > > > > codice.
> > > > > >
> > > > > > ma dai, un linguaggio con l'indentazione
> > > > > > obbligatoria non può essere serio, è
> > peggio
> > > > del
> > > > > > visual basic!
> > > > > >
> > > > >
> > > > > lo diceva anche Eric S. Raymond, poi ha
> > > cambiato
> > > > > completamente
> > > > > idea
> > > >
> > > > argumentum ad verecundium
> > >
> > > prendila come vuoi (anche in culo) volevo
> > > sottolineare che l'obiezione che alzi non è
> > certo
> > > originale
> >
> >
> img]http://img234.imageshack.us/img234/4527/specc
>
> toh fatti una cultura
>
>http://www.python.org/about/success/esr/

Oste com'è il vino?
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 23:01:00.0 alle 2008-10-21 23:01:00.0
> > > > > argumentum ad verecundium
> > > >
> > > > prendila come vuoi (anche in culo) volevo
> > > > sottolineare che l'obiezione che alzi non è
> > > certo
> > > > originale
> > >
> > >
> >
> img]http://img234.imageshack.us/img234/4527/specc
> >
> > toh fatti una cultura
> >
> >http://www.python.org/about/success/esr/

>
> Oste com'è il vino?
My first look at Python was an accident, and I didn't much like what I saw at the time.
neanche hai letto la prima riga.
mah non dovrei perdere tempo con te, non sai un cazzo di python e quindi le tue critiche valgono come la merda su un badile
buona notte genio-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 23:04:00.0 alle 2008-10-21 23:04:00.0
- Scritto da:
>
> > > > > > argumentum ad verecundium
> > > > >
> > > > > prendila come vuoi (anche in culo) volevo
> > > > > sottolineare che l'obiezione che alzi non
> è
> > > > certo
> > > > > originale
> > > >
> > > >
> > >
> >
> img]http://img234.imageshack.us/img234/4527/specc
> > >
> > > toh fatti una cultura
> > >
> > >http://www.python.org/about/success/esr/

> >
> > Oste com'è il vino?
>
> My first look at Python was an accident, and I
> didn't much like what I saw at the
> time.
>
> neanche hai letto la prima riga.
>
> mah non dovrei perdere tempo con te, non sai un
> cazzo di python e quindi le tue critiche valgono
> come la merda su un
> badile
>
> buona notte genio
e dovrei prendere come attendibile un'opinione presa dal sito del python?
-
-
-
-
-
-
-
-
Re: pythonistyScritto daNon Autenticatoil 2008-10-21 22:46:00.0 alle 2008-10-21 22:46:00.0
- Scritto da:
>
> - Scritto da:
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > come si può migliorare questo codice?
> > > > deve cercare le posizioni in cui una stringa
> > > > (pattern senza espressioni regolari) in
> > un'altra
> > > > stringa
> > > > data
> > > >
> > > > tipo come fa re.findall(), ma senza
> scomodare
> > il
> > > > motore che sta dietro il matcher delle regex
> > che
> > > > è
> > > > lento.
> > > >> > > > def allindices(string, sub, listindex=[], > > > > offset=0): > > > > i = string.find(sub, offset) > > > > while i >= 0: > > > > listindex.append(i) > > > > i = string.find(sub, i + 1) > > > > return listindex > > > >
> > >
> > > il python fa cagare, ha l'indentazione
> > > obbligatoria
> > >
> >
> [img]http://i.somethingawful.com/forumsystem/emoti
> >
> > il python è compatto e potente, e ci scrivo bot
> > con 10 righe di
> > codice.
>
> ma dai, un linguaggio con l'indentazione
> obbligatoria non può essere serio, è peggio del
> visual basic!
>
indentazione obbligatoria e ; obbligatori sono sintatticamente equivalenti
sicuramente hai un QI molto basso e non sai un cazzo di automi LR e parser
-
-
-
Re: pythonistyScritto daavvelentaniCubicolarioil 2008-10-21 23:06:00.0 alle 2008-10-21 23:06:00.0Trollate totali: 18184
- Scritto da:
>
> - Scritto da:
> > come si può migliorare questo codice?
> > deve cercare le posizioni in cui una stringa
> > (pattern senza espressioni regolari) in un'altra
> > stringa
> > data
> >
> > tipo come fa re.findall(), ma senza scomodare il
> > motore che sta dietro il matcher delle regex che
> > è
> > lento.
> >> > def allindices(string, sub, listindex=[], > > offset=0): > > i = string.find(sub, offset) > > while i >= 0: > > listindex.append(i) > > i = string.find(sub, i + 1) > > return listindex > >
>
> il python fa cagare, ha l'indentazione
> obbligatoria
paragonato al fatto che lo scoping fa cagare a spruzzo e` niente.
I think happiness is love
- Vladimir Putin
-
-
Re: pythonistyScritto daavvelentaniCubicolarioil 2008-10-21 23:05:00.0 alle 2008-10-21 23:05:00.0Trollate totali: 18184
- Scritto da:
> come si può migliorare questo codice?
> deve cercare le posizioni in cui una stringa
> (pattern senza espressioni regolari) in un'altra
> stringa
> data
>
> tipo come fa re.findall(), ma senza scomodare il
> motore che sta dietro il matcher delle regex che
> è
> lento.
>> def allindices(string, sub, listindex=[], > offset=0): > i = string.find(sub, offset) > while i >= 0: > listindex.append(i) > i = string.find(sub, i + 1) > return listindex >
Questo codice e` buggato, il valore di default di un argomento "persiste".
Per il resto non c'e` molto che tu possa fare, supponendo che string.find (btw non e` un problema che una variabile si chiami come una classe?) ricostruisca l'automa ogni volta che la chiami potresti ottimizzare riusando lo stesso automa, ma se lo fai in python il guadagno non compensera` il rallentamento delle prestazioni rispetto all'implementazione nativa di find, tranne forse nel caso in cui sub sia molto lunga e piena di ripetizioni.I think happiness is love
- Vladimir Putin
-