Hledáš dárek, který neskončí v koši? Nyní 90 % extra kreditů ZDARMA s promo kódem PREKVAPENI90. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 12 - Seznam v Pythonu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Nevik Qsuluqod:20.12.2015 18:43

Nemohl by si mi poradit, potřebuju vyprintovat seznam ale potřebuju aby to bylo bez hranatých závorek, obzvlášť když mám seznam v seznamu dik.

Odpovědět
Je těžké naučit se HTML, všude ho učí špatně, a co itnetwork? TO JE BIBLE
Avatar
gcx11
Tvůrce
Avatar
gcx11:20.12.2015 18:56

Ahoj, na to se jde pomocí rekurze.
Zjistíš zda-li je prvek seznamu seznam, pokud ano, projedeš prvky nového seznamu, pokud ne, můžeš v klidu vytisknout prvek

Pokud budeš potřebovat hezčí výstup, je lepší si pohrát s parametry funkce print

def vytiskni_vnoreny_seznam(seznam):
    for prvek in seznam:
        if isinstance(prvek, list):
            vytiskni_vnoreny_seznam(prvek)
        else:
            print(prvek)
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:20.12.2015 20:03
test = [1,2,
            [1,2,3],
            [1,2,
             [1,2,3]],
        4,5]

vysledek = str(test).replace("[","").replace("]","")
print(vysledek)
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:20.12.2015 20:07

Anebo takto pro list i tuple:

vysledek = "".join([znak for znak in str(test) if znak not in "[]()"])
Avatar
Odpovídá na hanpari
Nevik Qsuluqod:21.12.2015 0:03

dik za odpoved

Odpovědět
Je těžké naučit se HTML, všude ho učí špatně, a co itnetwork? TO JE BIBLE
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:21.12.2015 14:40

Není zač, jen poznámka na okraj. Moje první řešení nepoužívej, to byla jen ukázka, zbytečně dělá totéž dvakrát. A v druhém řešení si vyhoď seznamovou komprehenzi. Je tam myslím zbytečná.

Avatar
nickname01
Člen
Avatar
nickname01:12.7.2019 15:20

Navrhuji vyměnit následující část textu

range(m, n, i) - vrátí čísla od m a každé další i-té číslo do n-1

za toto: range(m, n, i) - vrátí čísla od m a každé další i-té číslo do n, ale nebude počítat s prvkem n

Důvod:
Původní definice je podle mě nesprávná.

list(range(5, 3, -1))

vrátí [5, 4], nikoli [5, 4, 3, 2]. To samé pro ořezávání.

Jestli se mýlím, prosím opravte mě.

Avatar
Denisa Váňová:1.11.2019 21:32

Ahoj, pomohl by mi někdo s tímto zadáním v pythonu - uživatel zadá číslo n, program vypíše jeho zápis ve dvojkové soustavě. Moc děkuji :)

Avatar
Tom S.
Člen
Avatar
Odpovídá na Denisa Váňová
Tom S.:2.11.2019 12:50

Ahoj, na převod čísla do binární soustavy existuje funkce bin.

bin(99)

Číslo 99 je v binární soustavě 0b1100011 a pokud chceš jenom ty čísla, tak do proměnné ulož čísla která jsou za 0b a máš to hotovo. ;-)

Avatar
Milan Turyna
Tvůrce
Avatar
Milan Turyna:2.11.2019 14:51

Pokud chceš jen ty čísla jak psal Tomáš Sobol tak to se dá udělat pomocí:

bin(99)[2:]

bin(99) převede číslo (například 99) do dvojkové soustavy a [2:] udělá to, že se z výsledku odeberou první dva znaky v tomhle případě 0b.

Pokud ale budeš chtít aby uživatel zadal číslo do inputu a potom se jeho číslo dále zpracovávalo tak si na to udělej například funkci (to je jedno) a zkontroluj jestli to co zadal je opravdu číslo (integer, float myslím že nejde převést do dvojkové soustavy a nebo jde, ale bude s desetinnými čísly.).

Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 72.