[Tutor] append value to dictionary key

Timo timomlists at gmail.com
Fri Mar 6 20:06:01 CET 2015


Op 06-03-15 om 15:28 schreef Chris Stinemetz:
> I would like to append a value to a dictionary key where there is already a
> value. Something like the below:
>
> d = {'name': {'2': 0.0, '7': 10.0, '8': 0.0, '9': 0.0}}
> append 10 to d['name']['2']
> d = {'name': {'2': 0.0,10, '7': 10.0, '8': 0.0, '9': 0.0}}
>
> When I try to this I get the following error:
>>>> d['name']['2'].append(10)
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
> AttributeError: 'float' object has no attribute 'append'
Maybe it's easier to break down your problem and start with a smaller 
example. Remove the dictionary and do the following:
 >>> x = 0.0
 >>> x.append(10)

What do you expect to happen?

Here's the output:
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute 'append'

Exactly the same as yours!

So, a float has no 'append' attribute, but what objects do have that? 
Sounds like you need a list to hold an arbitrary number of items.
 >>> l = [0.0]
 >>> l
[0.0]
 >>> l.append(10)
 >>> l
[0.0, 10]


Timo

>
> I am obviously doing this wrong. How would I accomplish this?
>
> Thank you in advance.
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list