Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Jakub Zíka
Pokud ty složitější operace nepotřebuješ, tak je lepší předchozí řešení (rychlejší). Takhle zbytečně vytváříš iteraci z iterace a pak ji teprve převádíš na list a přidáváš si tak krok navíc. 2010/10/14 Visgean Skeloru : > Když už jste to nakously, nebylo by nejlepší použít: >> >> [i for i in xrang

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Visgean Skeloru
Když už jste to nakously, nebylo by nejlepší použít: > [i for i in xrange(8)] > ? Umožňuje to i dělat složitější operace s iteracemi a tak je to asi nejlepší... 2010/10/14 Petr Přikryl > > Hynek Fabian napsal... > > Pol, Leos (Thursday 14 October 2010 12:56:13): > > > >Fuj, takhle pisou ceck

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Petr Přikryl
Hynek Fabian napsal... > Pol, Leos (Thursday 14 October 2010 12:56:13): > > >Fuj, takhle pisou ceckari :-) > > >R0 = list(range(8)) > > > > Fuj, proc z listu znova delat list ;-) > > Protoze jsem se kdysi davno nekde docetl o planech sloucit range() a > xrange(), > a zvykl jsem si v ram

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Hynek Fabian
Pol, Leos (Thursday 14 October 2010 12:56:13): > >Fuj, takhle pisou ceckari :-) > >R0 = list(range(8)) > > Fuj, proc z listu znova delat list ;-) Protoze jsem se kdysi davno nekde docetl o planech sloucit range() a xrange(), a zvykl jsem si v ramci dopredny kompatiblility explicitne si delat list

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Pol, Leos
>Fuj, takhle pisou ceckari :-) >R0 = list(range(8)) Fuj, proc z listu znova delat list ;-) __ Informace od ESET NOD32 Antivirus, verze databaze 5530 (20101014) __ Tuto zpravu proveril ESET NOD32 Antivirus. http://www.e

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu rajcze
fuj, takhle pisou lidi, co neumi python :) range(x) vraci list primo :)) (okej, tenhle maly sarkasmus jsem si nemohl odpustit, doufam, ze te neurazil:)) Jinak rikam - pokud jde o seznam immutable objektu, je melka kopie OK, jen je dulezite vedet, jak se to zachova u pole mutable objektu, a proc -

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu rajcze
Tohle je samozrejme taky moznost, ale pokud bys mel v R0 mutable objekty, tak by sis porad nepomohl - list(R0) totiz jen zkopiruje reference, nevytvari nove objekty. Mutable/immutable je (pro mne) asi ta nejhur vysvetlitelna cast pythonu pro "novacky" (protoze se to chova na prvni pohled dost nekon

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Hynek Fabian
> R0=[] > for x in range (8): >R0.append(x) Fuj, takhle pisou ceckari :-) R0 = list(range(8)) > R0work=R0 R0Work = R0[:] Udela melkou kopii - rez od zacatku do konce. Slovnik ma metodu copy() (Na hluboke kopirovani je modul "copy") ___ Python maili

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu rajcze
Problem je v tom, ze seznam (list) je neco, cemu se v pythonu rika "Mutable" - tj. menitelny objekt. V praxi to znamena, ze pokud si vytvoris promennou R0 a priradis ji prazdny seznam, tak ve skutecnosti _nastavujes ukazatel R0 na misto pameti, kde se nachazi ten seznam_. Potom kdyz do toho seznam

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Marek Polášek
Zdravím, problém je v tom, že pokud provedete R0work = R0, tak se nevytvoří kopie R0, ale pouze se zkopíruje reference na R0. Proto změna provedená nad jedním seznamem se projeví i u druhého. Jak provést kopii seznamu lze najít třeba na http://stackoverflow.com/questions/184643/what-is-the-bes

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Juda Kaleta
V Pythonu se nepracuje s proměnnými jako takovými, ale pouze referencemi na objekt. Proto se přiřazením R0work = R0 pouze změní reference na jeden a tentýž objekt. Pro naklonování, vytvoření nového objektu, je potřeba zavolat něco takovéhoto: R0work = list(R0) S pozdravem, Juda Kaleta 2010/10/

[python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Charlotte van Leeweneck
Dobry den, potrebovala bych pomoci s nasledujicim problemem. R0=[] for x in range (8): R0.append(x) R0work=R0 R0work[-1]=0 print(R0) print (R0work) Cílem bylo, aby mi to nahradilo posledni prvek v mnozine R0work prvkem 0, ale mozinu R0 nechalo nedotcenou tj. pozadovaný vysledek R0=[0, 1, 2,