[python] Více proměnných ve smyčce FOR

2009-03-01 Tema obsahu Vasco
Zdravím,
řeším v Pythonu následující problém:

mám dvě proměnné:
nazvy = ['jedna', 'dva', 'tri', 'ctyri']
cisla =  [1, 2, 3, 4]

Potřebuji vytvořit slovník, který bude obsahovat něco takového:
vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}

Napadlo mně použít tento způsob s využitím FOR:
vysledek = {}
for n, c in nazvy, cisla:
vysledek[n] = c

print vysledek

Při zpracování dojde k chybě: ValueError: too many values to unpack

Očividně je ten způsob zápisu 'for' špatný. Mám ale pocit, že jsem někde
něco podobného viděl. Proto bych se rád zeptal. Dá se toto řešit výše
uvedeným způsobem (jen mám někde syntaktickou chybu), anebo jsem úplně
vedle a podobná konstrukce v Pythonu nejde?

S pozdravem,
Vasco
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] V�ce prom�nn�ch ve smy�ce FOR

2009-03-01 Tema obsahu Jan Janech
Na toto sluzi fcia ZIP, ktora spoji n zoznamov a vytvori z toho jeden 
zoznam n-tic:


In [1]: nazvy = ['jedna', 'dva', 'tri', 'ctyri']

In [2]: cisla =  [1, 2, 3, 4]

In [3]: print zip(nazvy, cisla)
[('jedna', 1), ('dva', 2), ('tri', 3), ('ctyri', 4)]


Vas cyklus by sa teda dal napisat:

vysledek = {}
for n, c in zip(nazvy, cisla):
vysledek[n] = c

print vysledek

Jednoduchsie je ale pouzit priamo konstruktor slovnika na konverziu 
zoznamu dvojic na slovnik:


vysledek = dict(zip(nazvy, cisla))

spravi presne to co chcete

Jan Janech

Vasco wrote:

Zdravím,
řeším v Pythonu následující problém:

mám dvě proměnné:
nazvy = ['jedna', 'dva', 'tri', 'ctyri']
cisla =  [1, 2, 3, 4]

Potřebuji vytvořit slovník, který bude obsahovat něco takového:
vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}

Napadlo mně použít tento způsob s využitím FOR:
vysledek = {}
for n, c in nazvy, cisla:
vysledek[n] = c

print vysledek

Při zpracování dojde k chybě: ValueError: too many values to unpack

Očividně je ten způsob zápisu 'for' špatný. Mám ale pocit, že jsem někde
něco podobného viděl. Proto bych se rád zeptal. Dá se toto řešit výše
uvedeným způsobem (jen mám někde syntaktickou chybu), anebo jsem úplně
vedle a podobná konstrukce v Pythonu nejde?

S pozdravem,
Vasco
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python






--


Ing. Jan Janech
Katedra softverovych technologii
Fakulta riadenia a informatiky
Zilinska Univerzita
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Více proměnných ve smyčce FOR

2009-03-01 Tema obsahu Jan Bednařík
Musíš z toho nejdřív udělat seznam obsahující tuple, než to proženeš
forem. Třeba takto:

...
for n, c in map(lambda a,b: (a,b), nazvy, cisla):
...

Honza


2009/3/1 Vasco vasco@gmail.com:
 Zdravím,
 řeším v Pythonu následující problém:

 mám dvě proměnné:
        nazvy = ['jedna', 'dva', 'tri', 'ctyri']
        cisla =  [1, 2, 3, 4]

 Potřebuji vytvořit slovník, který bude obsahovat něco takového:
        vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}

 Napadlo mně použít tento způsob s využitím FOR:
        vysledek = {}
        for n, c in nazvy, cisla:
                vysledek[n] = c

        print vysledek

 Při zpracování dojde k chybě: ValueError: too many values to unpack

 Očividně je ten způsob zápisu 'for' špatný. Mám ale pocit, že jsem někde
 něco podobného viděl. Proto bych se rád zeptal. Dá se toto řešit výše
 uvedeným způsobem (jen mám někde syntaktickou chybu), anebo jsem úplně
 vedle a podobná konstrukce v Pythonu nejde?

 S pozdravem,
 Vasco
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

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


Re: [python] Více proměnných ve smyčce FOR

2009-03-01 Tema obsahu Vasco
Díky všem za rady. Funkce zip() se jeví jako nejlepší řešení.

Stačilo trošku hledat a našel jsem to i v dokumentaci:
http://docs.python.org/library/functions.html?highlight=zip#zip


Vasco wrote:
 Zdravím,
 řeším v Pythonu následující problém:
 
 mám dvě proměnné:
   nazvy = ['jedna', 'dva', 'tri', 'ctyri']
   cisla =  [1, 2, 3, 4]
 
 Potřebuji vytvořit slovník, který bude obsahovat něco takového:
   vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}
 
 Napadlo mně použít tento způsob s využitím FOR:
   vysledek = {}
   for n, c in nazvy, cisla:
   vysledek[n] = c
 
   print vysledek
 
 Při zpracování dojde k chybě: ValueError: too many values to unpack
 
 Očividně je ten způsob zápisu 'for' špatný. Mám ale pocit, že jsem někde
 něco podobného viděl. Proto bych se rád zeptal. Dá se toto řešit výše
 uvedeným způsobem (jen mám někde syntaktickou chybu), anebo jsem úplně
 vedle a podobná konstrukce v Pythonu nejde?
 
 S pozdravem,
 Vasco
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Více proměnných ve smyčce FOR

2009-03-01 Tema obsahu Pavel Kosina

Vasco napsal(a), dne 1.3.2009 13:39:

Zdravím,
řeším v Pythonu následující problém:

mám dvě proměnné:
nazvy = ['jedna', 'dva', 'tri', 'ctyri']
cisla =  [1, 2, 3, 4]

Potřebuji vytvořit slovník, který bude obsahovat něco takového:
vysledek = {'jedna': 1, 'dva': 2, 'tri': 3, 'ctyri': 4}

  


nazvy = ['jedna', 'dva', 'tri', 'ctyri']
cisla =  [1, 2, 3, 4]

vysledek = {}
for n, c in zip(nazvy, cisla):
   vysledek[n] = c
print vysledek

--
geon
Pavel Kosina

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


Re: [python] Python a VisualBasic 5

2009-03-01 Tema obsahu Tomas Brabenec

.NET nebo VB, pro me je to vsechno M$ ;-)

Tomas


Dne 26.2.2009 20:01, calis.mar...@seznam.cz napsal(a):

Ne, IronPython je pro .NET...
http://lmgtfy.com/?q=visual+basic+python tady to najdes...
Není to špatná myšlenka propojit Visual Basic (který je snad dobrý 
jenom na crackování woknousu) s Pythonem..



 Původní zpráva 
Od: Tomas Brabenec konfere...@brabenec.net
Předmět: Re: [python] Python a VisualBasic 5
Datum: 25.2.2009 18:47:08

Nesouvisi to s IronPython ?
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython

Tomas


Dne 25.2.2009 17:15, martin jirasek napsal(a):
 Dobrý den,

 kdesi jsem se dočetl že Visual Basic v mem případě 5, ale na tom 
asi nezáleží,
dokáže volat objekty z Python scriptů. Zajímalo by mne, jak na to. 
Obyčejný
základ, zbytek snad dohledám. Nevím zda jde o speciální knihovny pro 
Python

script nebo ve Visual Basic pro umožnění těchto operací.


 Děkuji předem Martin Jirásek
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python




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

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