[Python] Esercizio da un libro...

Gollum1 gollum1.smeagol1 a gmail.com
Dom 13 Ott 2013 12:20:16 CEST


ciao a tutti, ho trovato questo bel libro[1] in formato epub, che mi
ha permesso di capire alcune cosine che non riuscivo proprio a farmi
entrare in testa, per esempio sono finalmente riuscito a capire i
generatori, che per quanto leggessi i vostri post, non mi riusciva
proprio di farmi entrare in testa... e il bello è che il libro è
scritto in inglese, e il mio inglese è moooolto arrugginito, ma
miracolosamente riesco a capirlo (merito forse dell'introduzione che
ho fatto con i libri in italiano di Marco B.).

ma veniamo alla domanda...

>>> d=dict(november=11, oscar=12, papa=13, quebec=14)
>>> v1=v2=d.keys()

>>> v1,v2
(dict_keys(['november', 'oscar', 'papa', 'quebec']),
dict_keys(['november', 'oscar', 'papa', 'quebec']))
>>> v1[3]="X"
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'dict_keys' object does not support item assignment

e questo mi pare abbastanza comprensibile... praticamente non posso
cambiare la chiave di un dizionario...

perché allora nelle risposte che ci sono pubblicare sul libro ottengo
questa risposta?

The first time, v1 and v2 will be the same because they share the
   same list of dictionary keys. The second time they will differ
   because each has its own independent copy of the dictionary's keys.

parla di due tempi, in quanto prima fa la prova con
>>> v1=v2=d.keys()
e poi la stessa prova con
>>> v1=d.keys()
>>> v2=d.keys()

sinceramente non riesco a capire questa parte... può essere che il
testo sia stato scritto per python 2.7 e io sto invece usando python
3.3? (anche se gli esercizi scaricati sono quelli riscritti per la
versione 3.1 di python...

[1]: http://www.informit.com/store/rapid-gui-programming-with-python-and-qt-the-definitive-9780132354189

Byez
-- 
Gollum1
Tesssssoro, dov'é il mio tessssoro...


Maggiori informazioni sulla lista Python