list.append not working?

7stud bbxx789_05ss at yahoo.com
Thu Jul 5 12:11:29 EDT 2007


Hardy wrote:
> I experience a problem with append(). This is a part of my code:
>
>         for entity in temp:
>             md['module']= entity.addr.get('module')
>             md['id']=entity.addr.get('id')
>             md['type']=entity.addr.get('type')
>             #print md
>             mbusentities.append(md)
>             #print mbusentities
>
> I want something like: [{'module': 'home', 'id': 123, 'type': 'core'},
> {'module': 'work', 'id': 456, 'type': 'core'}]
> md is always correct, BUT:mbusentities is wrong. Length of
> mbusentities is same of temp, so it appended everything. BUT:
> mbusentities only shows the values of the last append: [{'module':
> 'work', 'id': 456, 'type': 'core'}, {'module': 'work', 'id': 456,
> 'type': 'core'}]
>
> What's wrong?

Inside your loop, you assign md["module"], md["id"], and md["type"]
the same values over and over again.




More information about the Python-list mailing list