Posizionamento in scrittura

Ogni volta che scrivo un valore in una bag con la sintassi a parentesi quadre o con setItem. Il valore viene aggiunto in coda, come ultimo elemento della bag a cui appartiene (Ricordate che la Bag strutturalmente è costituita da una lista di BagNode).

Ma in realtà è possibile specificare la posizione dell’elemento che stiamo scrivendo tra i suoi fratelli, usando il parametro opzionale _position

Questi sono i valori ammessi da _position e i loro significati.

Attribute

Description

'<'

Inserisce il valore come primo elemento della Bag

'>'

Inserisce il valore come ultimo elemento della Bag

'<label'

Inserisce il valore prima di un altro specificato

'>label'

Inserisce il valore dopo un altro specificato

'<#index'

Inserisce il valore prima di una posizione specificata numericamente

'>#index'

Inserisce il valore dopo una posizione specificata numericamente

'#index'

Inserisce il valore ad una di posizione specificata numericamente

Esempi

>>> mybag = Bag()
>>> mybag['a'] = 1
>>> mybag['b'] = 2
>>> mybag['c'] = 3
>>> mybag['d'] = 4
>>> print mybag
0 - a: 1
1 - b: 2
2 - c: 3
3 - d: 4
>>> mybag.setItem('e',5, _position= '<')
>>> mybag.setItem('f',6, _position= '<c')
>>> mybag.setItem('g',7, _position= '<#3')

Autore della sezione: Giovanni Porcari