Construyendo diccionarios (Era: Recuperando valores de diccionarios.)

Víctor Peinado vitojph en gmx.net
Sab Jul 3 20:05:12 CEST 2004


El Sábado, 3 de Julio de 2004 14:39, maese Chema Cortés tuvo la osadía de 
escribir:

| >     campos = linea.split()
| >     usuario, sistema = campos[0], campos[1]
|
| La respuesta principal ya te la han dado. Tan sólo decirte que estas dos
| líneas se pueden expresar en una sóla:
|
| usuario, sistema = linea.split()

Gracias por el apunte a ti y a Pepe. 

Eso no lo había probado, aunque suponía que se podría hacer algo así. En este 
caso, el split rompe una cadena en dos y esa asignacióna de dos variables es 
muy clara. 

>>> cacho1, cacho2 = "dos palabras".split()
>>> cacho1
'dos'
>>> cacho2
'palabras'

Pero, si el split rompiera en dos o tres puntos distintos y la asignación 
fuera con sólo dos variables, ¿funcionaría igual que en Perl? Es decir, la 
última variable se tragaría el resto de cadenas:

perl -e '$cadena = "estas son varias palabras"; ($una, @otras) = split /\s/, 
$cadena; print "$una -- @otras\n" '
estas -- son varias palabras

>>> cacho2 = []
>>> cacho1, cacho2 = "estas son varias palabras".split()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: unpack list of wrong size

Pues no, ni siquiera especificando que cacho2 es una lista. O al menos, no de 
este modo. ¿Alguna idea?

PD.: Esto ya lo pregunto por preguntar, por si alguien se amina ;-)

Gracias y saludos.

-- 
Res publica non dominetur.

 Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net
 Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA
 JID: vitojph jabber dk || <vitojph />
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es