[python] chameleon v pythonu

Jan Jakubuv jakubuv na gmail.com
Čtvrtek Květen 8 22:54:39 CEST 2008


Dobry den,

take si myslim ze to neni nejvhodnejsi reseni, nicmene ve for cyklu
muzete k tomu seznamu pristopovat napr. jako:

  globals()[i].append('neco')

Pripadne lze jeste pouzit eval, napr:

  eval("%s.append('neco')" % i)

Nicmene daleko cistsi by bylo tohle vse obejit a napr. si definovat
vlastni slovnik "promenne" a do nej si ukladat vase hodnoty namisto do
'globals()', napr:

promenne = {}
for i in seznam:
  ...
  promenne[i] = []
  ...
  premenne[i].append('neco')

honza.

Dne 8. květen 2008 20:24 Robert Helešic <helerob na gmail.com> napsal(a):
> Dobry den,
>
> je mozne pokud mam vygenerovany seznam jmen - ktery se pokazde meni -
> vytvorit z jednotlivych polozek dalsi seznamy?
> Ano je - to se mi jiz povedlo diky vasim radam:
>
> seznam = ['aaa', 'bbb']  # normalne se tento seznam generouje z
> ruznych souboru, takze jej berte pouze jako ilustraci
> for i in seznam:
>    globals()["i"]= []
>    globals()[i]=[]
>
> aaa.append('neco') # projde v pohode
>
> Timto jsem si vytvoril dva globalni seznamy aaa a bbb, kdyz k nim
> pristupuju pod temito jmeny, tak je to v poradku, ale ja bych k nim
> potreboval pristupovat bez toho aniz bych znal jejich nazev - snazil
> jsem se nejak k nim pristupovat v tom foru, pres promennou i, ale ta
> je pochopitelne retezec a nehodla se se mnou vubec bavit, nevite jak
> se toto chovani da zmenit?
>
> Diky moc!
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>


Další informace o konferenci Python