abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 2.47.0 distribuovaného systému správy verzí Git. Přispělo 83 vývojářů, z toho 28 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.13.0. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Zajímavý článek Ladislav Hagara | Komentářů: 3
    včera 15:22 | Pozvánky

    Konference LinuxDays 2024 proběhne již tento víkend 12. a 13. října v Praze. Na programu je spousta zajímavých přednášek a workshopů, zástup zajímavých osobností a stánky řady projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, brmlab, OpenAlt a mnoho dalších. Vstup zdarma.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | IT novinky Ladislav Hagara | Komentářů: 0
    6.10. 18:55 | Nová verze

    OpenRazer byl vydán ve verzi 3.9.0. Jedná se o svobodný software, ovladač a démon, umožňující nastavovat klávesnice, notebooky, myši, podložky pod myš, keypady, sluchátka a další zařízení od společnosti Razer na GNU/Linuxu.

    Ladislav Hagara | Komentářů: 0
    6.10. 01:55 | Nová verze

    Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 32
    6.10. 00:33 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 1
    5.10. 15:33 | Nová verze

    Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 1
    Rozcestník

    Dotaz: Jak vytvořit složité pole, seznam v Pythonu

    26.6.2015 22:45 Jan
    Jak vytvořit složité pole, seznam v Pythonu
    Přečteno: 407×
    Ahoj, studuji tady manuál ale nemůžu nikde najít, jak vytvořit složitější seznam/pole. Potřebuji něco takového, ale potřebuji to přidávát po jednom, ne nadefinovat celý seznam naráz.
    seznam = [
    1: 'a':'1aaa', 'b':'1bbb', 'c':'1ccc'
    2: 'a':'2aaa', 'b':'2bbb', 'c':'2ccc'
    3: 'a':'3aaa', 'b':'3bbb', 'c':'3ccc'
    ]
    print(seznam[1]['a']) # 1aaa
    print(seznam[2]['a']) # 2aaa
    print(seznam[3]['c']) # 3ccc
    Nepomůže prosím pěkně někdo ?

    Řešení dotazu:


    Odpovědi

    Jendа avatar 27.6.2015 00:06 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Mně teda Python na tohle řekne invalid syntax. Nechceš spíš dictionary?
    27.6.2015 00:11 Jan
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Ano, syntaxně je to špatně, jelikož fakt nevím jak na to :-(
    27.6.2015 00:15 Jan
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Nechceš spíš dictionary?
    Je mi to jedno, hlavně aby tam šlo přidávat další záznamy pro to společné id
    27.6.2015 00:13 vrana
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Nerozumim, co presne chces, protoze to co jsi tam zapsal je spis slovnik slovniku nez pole, ktery naplnis takto...
    #!/usr/bin/env python
    
    seznam = dict()
    
    for i in range(1,4):
      seznam[i] = dict()
      for c in range(3):
        z=chr(ord('a')+c)
        seznam[i][z] = str(i)+z*3
    print seznam
    
    S vystupem:
    {1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}
    
    27.6.2015 00:17 Jan
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    To je hezký, ale jak jsem již psal: potřebuji to přidávát po jednom, ne nadefinovat celý seznam naráz.
    27.6.2015 00:20 vrana
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    co tim myslis "po jednom" ?
    27.6.2015 00:23 Jan
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Pokud budu vycházet z toho co jsi vygeneroval
    {1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}
    tak potřebuji ještě později přidat třeba pro id 1 'd' : '1ddd' a výsledek bude
    {1: {'a': '1aaa', 'c': '1ccc', 'b': '1bbb', 'd' : '1ddd'}, 2: {'a': '2aaa', 'c': '2ccc', 'b': '2bbb'}, 3: {'a': '3aaa', 'c': '3ccc', 'b': '3bbb'}}
    27.6.2015 00:26 vrana
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    seznam = dict()
    
    def pridej(i,z):
      if i not in seznam:
        seznam[i] = dict()
      seznam[i][z] = str(i)+z*3
    
    27.6.2015 00:49 Jan
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Super, díky moc. Tak jsem to myslel

    Pokud použiji funkci 'přidej'
    pridej('1', 'a')
    pridej('1', 'b')
    pridej('1', 'c')
    získám výsledek
    {'1': {'b': '1bbb', 'c': '1ccc', 'a': '1aaa'}}
    
    ale proč to nejde vypsat ?
    print(seznam[1]['a']) # dostanu chybu 'KeyError: 1'
    
    Jendа avatar 27.6.2015 02:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak vytvořit složité pole, seznam v Pythonu
    Přidáváš '1' a hledáš 1. Kdyžtak dict.keys().

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.