Keresés

Hirdetés

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

  • ArchElf

    addikt

    válasz Lacces #68 üzenetére

    úgy működik. Pl.: lista[2:6]
    hogy a lista elemei közül a 2. 3. 4. 5. indexű elemet vágja ki?

    nem, a 2-es indexű elemtő számítva 6 db elemet vág ki.
    kivéve
    ha nincs második szám:

    Vagy én emlékeztem rosszul és de :)
    Szóval
    szamok[start:stop]
    vagy
    szamok[start:stop:lépésköz]
    plusz
    lista[2:] - a 2.-től az összeset adja vissza
    ha a második szám negatív
    lista[2:-2] - a 2. től az utolsó-előtti-előttiig adja vissza

    A következő példát nem értem, hogy miért van ott a 3-as?
    >>> szavak[1:3] = ['saláta']>>> szavak['sonka', 'saláta', 'ketchup']
    Miért nem csak simán szavak[1]=['saláta'] van ott?

    de lehetne, viszont az előző példa nem szemléletes, mert a szavak[1:3] = ... tömb jellegű felülírást jelent... Látványosabb példa volna:
    1)
    >>> betuk = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    >>> szamok = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
    >>> betuk[2:3] = szamok
    >>> print betuk
    ['a', 'b', '0', '1', 'e', 'f', 'g', 'h', 'i']

    2)
    >>> betuk = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    >>> szamok = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
    >>> betuk[2:5] = szamok[7:]
    >>> print betuk
    ['a', 'b', '7', '8', 'e', 'f', 'g', 'h', 'i']

    AE

    [ Szerkesztve ]

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

  • ArchElf

    addikt

    válasz Lacces #71 üzenetére

    Persze, de c#-os kérdésben nézz be ide ;)

    Egyébként az alapvető különbség a py és pl. a c# között az az objektumok/tagok láthatósága. A py-ban minden objektum minden tagja látható: az osztályok belső szerkezét, vagy annak egy részét nem lehet elrejteni a külső szemlélő elől, míg ez erősebb nyelvek esetében ez alapkövetelmény.

    AE

    [ Szerkesztve ]

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

  • cucka

    addikt

    válasz Lacces #73 üzenetére

    for key in dico: - kulcs alapján a dico szótárban keres
    Nem nyert. Ez egy ciklus, ami végigfut a dico nevű dictionary-n és a ciklus magjában a "key" nevű változóban találod az adott elem kulcsát.

    item=dico[key] - az item változóban a dico kulcsait tárolom.
    Nem nyert. Az item változóhoz hozzárendeled a "dico" dictionaryból a "key" kulcs által meghatározott értéket. (Gy.k. - a dictionary az kulcs-érték párok halmaza)

    dic_inv[item]=key - na én itt valamiért úgy értelmezem, hogy dic_inv[dicokey]=key (ami ismét a dico-nak a kulcsai)
    A dic_inv dictionary-hoz hozzáadsz egy új elemet, aminek a kulcsa a dico aktuális elemének az értéke, az értéke meg a dico aktuális elemének a kulcsa.

    Egyébként meg meg lehet ezt jobban is írni:
    def inverse(dico):
    dic_inv={}
    for key, value in dico.items()
    div_inv[value]=key
    return dic_inv

    Vagy még jobban:
    def inverse(dico):
    return dict(zip(dico.values(), dico.keys()))

    Javaslom, próbáld megemészteni ezeket a verziókat is. :)

  • cucka

    addikt

    válasz Lacces #75 üzenetére

    Ilyenkor mindig kulcs alapján járja be a szótárt?
    Nem kulcs alapján járja be, hanem a kucsot kapod meg alapesetben ciklusváltozónak.

    ebben az esetben a print dico[computer] eredménye a számítógép lesz.
    Nem, ennek az eredménye általában egy hibaüzenet lesz. Esetleg így érdemes:
    print dicto['computer']

    Ebben az esetben, a szótárt úgy kezelem, mint egy objektum. a key az adott elem kulcsa, a value az adott elem értéke.
    A szótár az egy objektum. Mindig.
    Ebben az esetben nem a szótáron iterálsz végig, hanem a szótár.items() függvény visszatérési értékén, ami egy lista, aminek elemei (kulcs,érték) párok.

    A zip-hez szeretnék magyarázatot kérni.
    Elmagyarázni hosszú, itt egy példakód, ami alapján le kell essen, hogy mire jó:
    >>> digits=[1,2,3]
    >>> hungarian=['egy', 'ketto', 'harom']
    >>> english=['one', 'two', 'three']
    >>> zip(digits,hungarian,english)
    [(1, 'egy', 'one'), (2, 'ketto', 'two'), (3, 'harom', 'three')]

    Amúgy erre gondoltál? (hogy a visszatérési érték egy szótár, ami dic_inv a jelen példában) végül is mindegy, az a lényeg, hogy nem a "dico" szótár.
    Ezt nem értem, a mellékelt kódot sem.

  • cucka

    addikt

    válasz Lacces #78 üzenetére

    A zip az egy listát csinál, aminek az elemei tuple-k (párok vagy n-esek)
    A dict() az a dictionary konstruktor, ami egy ilyen listából dictionary-t csinál.

    A függvény return sorába meg bármit beírhatsz, mivel Pythonban a függvényeknél nincs előre meghatározva, hogy milyen típusú értékkel térnek vissza.

  • cucka

    addikt

    válasz Lacces #81 üzenetére

    Tudtok benne kód rövidítést? Esetleg "szebb" kódot?
    Rövidítést nem, mert ez így pont elég rövid. Esetleg írhatnál kevesebb, de jobb minőségű kommentet :) .

    Szebb kódhoz meg írd át szépen teljesen oop-s re.
    Van egy vonat objektumod, aminek vannak vagonjai (ez egy lista, mert fontos a sorrend). A vagonoknak vannak ablakai (ezek nem feltétlenül osztályok), meg vannak emberek, akik a vagonban ülnek.
    A vagonok tudják, hogy hanyadikak a sorban (ezt biztosítja nekik a vonat objektum) és ki tudják rajzolni magukat, illetve fel-le tudják kapcsolni egy adott ablakukat.
    Nagyjából valami hasonló, sokáig el lehet ezzel szórakozni.

  • nicknev

    csendes tag

    válasz Lacces #83 üzenetére

    Üdv
    Kezdő programozó vagyok, de ezeket ismerem, jó kis oldalak:
    github.com
    launchpad.net
    koders.com
    bitbucket.org
    Ezek mind-mind tele vannak open source projektekkel, de nem csak Python van.
    De nemhiszem, hogy ezeken lennének tutorialok, szerintem csak forráskódok.

    Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.

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