Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Viacrozmerné zoznamy v Pythone

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Tomáš Holec:1. marca 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. júla 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
Odpovedá na Barbora Zdvihalová
DarkCoder:7. júla 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.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovedá na DarkCoder
Barbora Zdvihalová:7. júla 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
Odpovedá na Barbora Zdvihalová
DarkCoder:7. júla 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

Odpovedať
"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. júla 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
Odpovedá na Jan Kadrmas
DarkCoder:25. júla 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)
Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Kadrmas
Člen
Avatar
Odpovedá na DarkCoder
Jan Kadrmas:25. júla 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
Odpovedá na Jan Kadrmas
David Hartinger:16. septembra 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á.

Editované
Odpovedať
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na DarkCoder
David Hartinger:16. septembra 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.

Odpovedať
New kid back on the block with a R.I.P
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 54.