Hirdetés

Új hozzászólás Aktív témák

  • Lacces

    őstag

    Meg még egy kérdésem, a get()-el kapcsolatban:

    for m in words:
    dico[m] = dico.get(m, 0) +1
    lista = dico.items()

    Úgy tűnik a szótár használata nem tiszta számomra...

    a get() - azt csinálja, hogy megnézi a dico szótárban az "m" kulcshoz tartozó értéket, ha szerepel benne akkor az m-et ad neki (m értéket, ami a "words" aktuális eleme), ha nem, akkor 0-t. Én így tudtam. De miért van ott az a +1 ?

    Itt a könyv teljes példájának a kód sorozata:

    nFile = raw_input('Kezelendo file neve : ')
    fi = open(nFile, 'r')
    text = fi.read()
    fi.close()
    # annak erdekeben, hogy a szoeg szavai konnyen elklulonithetok legyenek, a nem
    # betu karaktereket betukozze alakitjuk :?
    alpha = "abcdefghijklmnopqrstuvwxyzíéáúóüöÍÉÁűőŰŐÚÓÜÖ"
    betuk = '' # a lerehozand uj karakterlanc
    for c in text:
    c = c.lower() # minden betut kisbetuve alakit
    if c in alpha:
    betuk = betuk + c
    else:
    betuk = betuk + ' '
    # az eredménystring átalakítása szavak listájává :
    words = betuk.split()

    # a hisztogram elkészítése :
    dico ={}
    for m in words:
    dico[m] = dico.get(m, 0) +1
    lista = dico.items()
    # az eredménylista rendezése :
    lista.sort()
    # kiiratas :
    for item in lista:
    print item[0], ":", item[1]

    :R

Új hozzászólás Aktív témák