Results 1 to 14 of 14

Thread: [python] Comparare due stringe e ottenere la sub-string piu grande uguale

  1. #1
    Ensign Hardcore's Avatar
    Join Date
    Sep 2006
    Location
    Modena
    Posts
    3.550

    Default [python] Comparare due stringe e ottenere la sub-string piu grande uguale

    Capisco che il titolo sia criptico, ma un piccolo esempio chiarirà tutto:

    stringa1= "Windows_LiveMessenger"
    Stringa2="MsnMessenger"

    Vorrei trovare un metodo che mi ritorni "Messenger"

    Se avessi:
    Stringa1:"Microsoft_Messenger"
    Stringa2:"Messenger_Messenger"

    Vorrei ottenere "_Messenger"

    C'è qualche cosa di già presente o devo scrivere del codice a mano?


  2. #2
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Il tuo problema è stato semplicemente il trovare la giusta definizione di quello che ti serviva ^^.

    Quello che cerchi è la Longest common subsequence (LCS), che è un algoritmo abbastanza trattato in ambito teorico percui in giro si trovano codici di soluzione già scritti.

    ES:
    http://en.wikibooks.org/wiki/Algorit...mmon_substring
    spamm is life.

  3. #3
    Ensign Hardcore's Avatar
    Join Date
    Sep 2006
    Location
    Modena
    Posts
    3.550

    Default

    Ho implementato l' LCS, e la cosa sembra funzionare correttamente. Però vi sono casi in cui l' LCS si rivela inadeguato, ho visto che esistono alcuni algoritmi relativi allo String Matching. (Trovato uno detto Bitap), vorrei sapere se ne conoscete altri.

    Per essere precisi il caso in cui LCS ha una criticità è il seguente:

    Stringa1: Samsung
    Stringa2: SamTung

    LCS mi ritorna come SubString piu grande una di dimensione 3: (sam oppure ung).
    In realtà le due stringhe sono molto simili, differiscono solo per una lettera.


  4. #4
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Scusa ma questa non è una criticità del LCS..che nel tuo esempio ti restituisca san è perfettamente corretto secondo quanto avevi chiesto nel post iniziale.

    Dunque il problema torna a essere lo specificare cosa ti serve precisamente.

    Ad esempio..proprio in quell'esempio Samsung / SamTung , cosa dovrebbe restituirti l'algoritmo che desideri?
    spamm is life.

  5. #5
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Stai facendo confusione, as usual

    La richiesta che fai nel primo reply e quella che hai fatto in seguito sono diverse tra loro. Per la prima il LCS è perfetto, come ti ha già spiegato risethesky. Per la seconda.. è una distanza di edit (o se lo vuoi vedere in termini binari una distanza di hamming).
    Però devi chiarificare cosa vuoi fare, se una o l'altra cosa (o entrambe), perchè si tratta di problemi differenti a cui fanno capo soluzioni differenti

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  6. #6
    Lieutenant Junior Grade Eltarion's Avatar
    Join Date
    Dec 2004
    Location
    Venaria
    Posts
    4.085

    Default

    Quote Originally Posted by Axet View Post
    Stai facendo confusione, as usual

    La richiesta che fai nel primo reply e quella che hai fatto in seguito sono diverse tra loro. Per la prima il LCS è perfetto, come ti ha già spiegato risethesky. Per la seconda.. è una distanza di edit (o se lo vuoi vedere in termini binari una distanza di hamming).
    Però devi chiarificare cosa vuoi fare, se una o l'altra cosa (o entrambe), perchè si tratta di problemi differenti a cui fanno capo soluzioni differenti
    minchia quanto mi ecciti quando parli così!!!!

    Realm Of Trollers
    while ( ! ( succeed = try() ) );
    Spoiler

  7. #7
    Lieutenant Commander San Vegeta's Avatar
    Join Date
    Oct 2003
    Location
    Bologna
    Posts
    12.153

    Default

    io sono dell'idea che se seguisse un corso di programmazione di base e algoritmi, queste idee confuse non ci sarebbero
    però sono polemico come al solito
    I rubinetti a casa di Chuck Norris non perdono, vincono.

    In the beginning there was nothing...then Chuck Norris Roundhouse kicked that nothing in the face and said "Get a job". That is the story of the universe.

    Quote Originally Posted by Wolfo View Post
    Concordo e propongo ban temporanei per chi critica la topa , la topa non si critica , dal trombabile in su non si commenta in modo sgradevole.
    la tua ignoranza in materia e' raccapricciante
    -cit. Estrema, 2022

  8. #8
    Lieutenant Junior Grade Eltarion's Avatar
    Join Date
    Dec 2004
    Location
    Venaria
    Posts
    4.085

    Default

    ma dai, una persona si interessa all'arte della programmazione e voi gli tarpate le ali così? Dovreste essere contenti di aiutare qualcuno a maneggiare l'Antica Arte.
    Realm Of Trollers
    while ( ! ( succeed = try() ) );
    Spoiler

  9. #9
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Quote Originally Posted by Eltarion View Post
    ma dai, una persona si interessa all'arte della programmazione e voi gli tarpate le ali così? Dovreste essere contenti di aiutare qualcuno a maneggiare l'Antica Arte.
    In realtà quello che viene fuori qui cmq non è un problema di programmazione, ma un problema di analisi.
    E se per diventare un programmatore skillato normalmente la pratica è sufficente (unita a una predisposizione naturale al pensiero logico...), per diventare un buon analista un po' di teoria è consigliabile.
    spamm is life.

  10. #10
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Ehm vi state confondendo con brcondor che non fa informatica. Magari mi sbaglio eh, ma se non erro hardcore fa ingegneria informatica

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  11. #11
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Quote Originally Posted by Axet View Post
    Ehm vi state confondendo con brcondor che non fa informatica. Magari mi sbaglio eh, ma se non erro hardcore fa ingegneria informatica
    Questo non deporrebbe a favore delle sue conoscenze di algoritmi

    (pura trollata da Informatico puro ovviamente )
    spamm is life.

  12. #12
    Hador's Avatar
    Join Date
    Mar 2004
    Location
    Milano
    Posts
    31.321

    Default

    non c'è nessun corso che ti insegni a capire cosa minchia vorresti fare

  13. #13
    Lieutenant Junior Grade Eltarion's Avatar
    Join Date
    Dec 2004
    Location
    Venaria
    Posts
    4.085

    Default

    appunto anche se studia informatica che problema c'è? Se sapesse, non chiederebbe no?
    Realm Of Trollers
    while ( ! ( succeed = try() ) );
    Spoiler

  14. #14
    Lieutenant Commander San Vegeta's Avatar
    Join Date
    Oct 2003
    Location
    Bologna
    Posts
    12.153

    Default

    fa benissimo a chiedere perchè ha voglia di imparare. Però stiamo parlando di problemi "banali" e ci sono lacune persino nell'identificare il problema. Il linguaggio di programmazione è uno strumento: se devi fare una spada, sai che ti serve una fucina del minerale, un incudine e un martello (almeno); ma sapere quale strumento ti serve non ti fa forgiare una spada.

    spero sia più chiaro, altrimenti amen... :P

    fortunamente ci sono maree di tutorial e guide che questi problemi li affrontano bene, però serve tempo per trovarli e leggerli...
    I rubinetti a casa di Chuck Norris non perdono, vincono.

    In the beginning there was nothing...then Chuck Norris Roundhouse kicked that nothing in the face and said "Get a job". That is the story of the universe.

    Quote Originally Posted by Wolfo View Post
    Concordo e propongo ban temporanei per chi critica la topa , la topa non si critica , dal trombabile in su non si commenta in modo sgradevole.
    la tua ignoranza in materia e' raccapricciante
    -cit. Estrema, 2022

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[Output: 94.72 Kb. compressed to 80.16 Kb. by saving 14.57 Kb. (15.38%)]