[python] prohledani databaze

Jaroslav Pachola j_p na centrum.cz
Pátek Říjen 21 11:24:32 CEST 2005


Ahoj,

bez dlouheho prohlizeni doporucuju, kdykoliv pouzivas operace typu in, nasadit 
misto seznamu slovnik. Tedy napriklad

database  = {"nic" : 1, "neco"  : 1, "copak" : 1, "cop" : 1, "oko" : 1, 
"okov" :1 }

To same u inventory.

JP


Dne Friday 21 October 2005 13:16 spooky.ln napsal(a):
> zdravim,
> s pythonem zacinam a tak bych potreboval trochu pomoct :)
> o co se jedna je zrejme a tak bych chtel poprosit o nazory a pripominky
> jak toto urychlit. bojim se ze hledani v opravdu velke databazi bude
> neumerne dlouhe. premyslel jsem nad tim pouzit fci map() ale  opravdu
> nevim  :(
>
> database  = ["nic", "neco", "copak", "cop", "oko", "okov"]
> inventory = ["p", "a", "c", "v", "o", "k"]
>
> def scan_database(inventory):
>     matched = []
>     for word in database:
>         find = True
>         new = inventory[:]
>         for char in word:
>             if char not in new:
>                 find = False
>                 break
>             else:
>                 pos = new.index(char)
>                 del new[pos]
>         if find:
>             matched.append(word)
>     return matched
>
> found = scan_database(inventory)
> print found



Další informace o konferenci Python