Ha, to mne vede k jednomu problému, kterej jsem řešil

potřeboval jsem generátor, kterej by mě vracel postupně buňky pravidelné sítě 
(na pořadí mě nezáleží)

Itertools použít nemůžu, používám py 2.5

V tom generátoru můžu použít buď toto

[(a, b) for a in [1,2,3] for b in ['a','b']] #obslehnuto na 
http://stackoverflow.com/questions/533905/get-the-cartesian-product-of-a-series-of-lists-in-python

Tj něco jako 
def x():
 for i in [(a,b) for a in range(1,10,2) for b in range(5,20,5)]:
  yield i

Nebo dvě vnořené smyčky while
Asi tak

dex x():
  x = 2
  y = 4
  while x<=100:
    while y <= 20:
      yield [x,y]
      y = y +1
    y = 2
    x=x+3

A teď přijde ten dotaz, když použiju tu první metodu (podle mého elegantnějc 
vypadající) tak se mi ale to pole vytvoří naráz celý??? Nebo ne?? Já to tak 
totiž nechci, protože ta síť může bejt pěkně velká. Kdežto ta druhá (škaredší 
metoda) ukládá jen x a y. Vyházím z toho že rozestupy sou pravidelný a pracuju 
s celejma číslama.

Jde tedy to nějak vymyslet, abych udělal ten generátor, kterej si bude 
pamatovat jen aktuální hodnoty x a y, aniž bych musel použít smyčku?? Ta věc 
[něco for něco] (menuje se to generátor pole??) 

Musí to za každou cenu to pole hned vytvořit a celý ho uložit?? Nebo to jde 
nějak občůrat (například použít místo range() generátor)??

Já se přiznám, že nevim, jak tyhle věci fungujou, skoušel jsem tomu nacpat 
hodně velkou matici a porovnat rychlost, ale výsledek bych neoznačil za 
signifikantní.

Dík Je.
 

__________ Informace od ESET NOD32 Antivirus, verze databaze 5544 (20101019) 
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz
 
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem