NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. 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 4 - Vícerozměrné seznamy 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
Tomáš Holec:1. března 23:19

Dejte prosím ten obrázek v Zubate seznamy pryč, nebo ho upravte adekvátně k níže uvedenému příkladu. Je to matoucí.

Avatar
Barbora Zdvihalová:7. července 15:47

Muzete mi, prosim nekdo vysvetlit, co znamena "kinosaly[3][2][1] = 1 # Druhý kinosál, třetí řada, čtvrtý sloupec"
Co tim chtel basnik rict, co to znamena a jak se to pouziva? Nejak jsem z textu nepochopila. Diky :)

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Barbora Zdvihalová
DarkCoder:7. července 16:51

Pro lokalizaci místa kam si máš sednou v kině jsou zapotřebí 3 identifikatoru - sál, řada, sedadlo. A to přesně představují indexy.indexuje se od nuly, proto 1 představuje druhý kinosal, 2 třetí řadu a 3 čtvrté sedadlo.

Je třeba ale podotknout že to nemají logicky vhodné stanovené. Jde o to, že index stojící vpravo se mění nejrychleji a sál je vyšší jednotka než řada a ta je vyšší než sedadlo. Tedy správně by měl být první index (nejvíce vlevo) pro sály, druhý pro řady a třetí pro sedadla.

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Barbora Zdvihalová:7. července 16:53

"1 představuje druhý kinosal, 2 třetí řadu a 3 čtvrté sedadlo."
nechapu, ze ceho jsi to vycetl? Diky

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Barbora Zdvihalová
DarkCoder:7. července 16:59

Indexy začínají od 0, tedy [0] je první prvek, [10] jedenáctý, [15] šestnáctý, atd.
Tedy N-tý prvek má index N-1

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Kadrmas
Člen
Avatar
Jan Kadrmas:25. července 14:54

Chtěl bych se ujistit – ve vašem příkladu s kinosálem nastavujete jedničky pomocí kinosal[i][3] = 1, ale podle obrázku to vypadá, že se mění sloupce v řádku 3, tedy by správně nemělo být kinosal[3][i] = 1? Jinak mi nesedí souřadnice X a Y. Děkuji za upřesnění.“

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jan Kadrmas
DarkCoder:25. července 15:53

Ano, nedodržují konvenci řádek-sloupec a ještě to nevhodně ukazují na čtvercovém seznamu.

Př. Vytvoř 2D seznam o velikosti 3x4 (3 řádky, 4 sloupce), nastav prvky na nulu a pouze prvek vpravo dole nastav na 1. Vypiš seznam.

# Vytvoření 2D seznamu 3x4 (řádky × sloupce)
radky = 3
sloupce = 4

kinosal = []
for i in range(radky):
    radek = []
    for j in range(sloupce):
        radek.append(0)
    kinosal.append(radek)

# Nastavení pravého dolního rohu na 1
kinosal[radky - 1][sloupce - 1] = 1  # kinosal[2][3] = 1

# Výpis 2D seznamu
for radek in kinosal:
    print(radek)
Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Kadrmas
Člen
Avatar
Odpovídá na DarkCoder
Jan Kadrmas:25. července 20:43

Díky, DarkCoder!

Děkuji za odpověď – ujistil jsi mě, že moje úvaha ohledně kinosálu a souřadnic byla správná. Pomohlo mi to pochopit, jak se správně pracuje s vícerozměrnými seznamy, hlavně co se týče pořadí řádek-sloupec. Právě tenhle základ je podle mě klíčový pro to, abych se dokázal lépe orientovat v dalších problémech, které na tomhle principu staví.

Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Kadrmas
David Hartinger:16. září 15:18

Ahoj, děkujeme za zájem. Přidali jsme i příklad výpisu pole typu řádek-sloupec, aby to bylo jasnější :) Varianta sloupec-řádek je také korektní a používaná.

Editováno 16. září 15:19
Odpovědět
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na DarkCoder
David Hartinger:16. září 18:52

Ano, nedodržují konvenci řádek-sloupec...

Máš pravdu, že použití řádek-sloupec je v Pythonu častější, ale na konvenci sloupec-řádek není v zásadě nic špatného, jelikož veškerá grafika funguje na souřadnicích X, Y, tedy cokoli co se bude nějak renderovat dává smysl ukládat v poli sloupec-řádek (veškeré hry, veškeré UI, mapy, ...). Zamyslíme se nad změnou pořadí souřadnic, aby to bylo blíže datové vědě.

...a ještě to nevhodně ukazují na čtvercovém seznamu.

Upřímně celý tvůj komentáří vypadá spíš jako útok, pochopit 2D pole můžeš přeci na čtverci i obdélníku, děláš jako by to bylo celé špatně. Máš pravdu, že na obdélníku to je ještě lepší, a zvážím jeho použití, ale čtvercová mřížka vážně není nevhodná ukázka pro pochopení 2D pole.

Nevím, jestli jsi měl špatný den, ale zkus prosím se zamyslet nad tím, že podněty ke zlepšení se dají napsat i s respektem k platformě, na které působíš, a autorům, kteří články píší a upravují. Stačilo by napsat něco jako "Prosím použijte/změňte/ Navrhuji úpravu...". Nejsi ani náš student, ani z naší organizace, prosím, dodržujme vzájemný respekt.

Odpovědět
New kid back on the block with a R.I.P
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 51.