Hirdetés

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

  • cousin333

    addikt

    válasz eames #983 üzenetére

    Én kezdőként így csinálnám:

    megnyitom a fájlt olvasásra (kulcsszó: open, with)
    soronként beolvasom a fájlt egy listába (pl. list comprehension, strip)
    készítek egy üres szótárat (dictionary)
    soronként végigmegyek a listán (for)
    szétválasztom a címet és a rendezőt (split, ahogy már előttem írták)
    ha a rendező még nem szerepel a szótárban,
    akkor hozzáadom a nevét a szótárhoz egy 1-es számmal, vagy a film címével (listában)
    ha a rendező szerepel a szótárban,
    akkor hozzáadok a név melletti számhoz 1-et, vagy a név melletti listához a filmcímet

    Ez kb. annyi kód, amennyivel fentebb leírtam, minden sorhoz egy kódsor tartozik. Az első módszerrel (a vagy előtt) a rendező által rendezett filmek számát kapod, az alternatív megoldással meg azt, amit most írtál, hogy ki szeretnéd hozni.

    SPOILER! A kód kb. így nézne ki az első módszerrel (filmszámolás):

    with open('myfile.txt', 'r') as f:
    filmlista= [line.strip('\n ') for line in f if line != '\n']

    osszesites = {}

    for alkotas in filmlista:
    cim, rendezo = alkotas.split(';')
    if rendezo in osszesites:
    osszesites[rendezo] += 1
    else:
    osszesites[rendezo] = 1

    És a for ciklus így nézne ki a másodikkal:

    for alkotas in filmlista:
    cim, rendezo = alkotas.split(';')
    if rendezo in osszesites:
    osszesites[rendezo].append(film)
    else:
    osszesites[rendezo] = [film]

    Remélem működnek, nem teszteltem le.

    [ Szerkesztve ]

    "We spared no expense"

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