[Zope] dictionaries in python *methods* :-o

Lee lee.reilly@ntlworld.com
Mon, 22 Jan 2001 05:49:01 +0000


Thanks, Steve. This'll do nicely ;-) BUT...

For some strange reason the following doesn't work in my Python *method*:

    dict = {}
    dict["Lee"] = 1

Error:

     Error Type: Python Method Error
     Error Value: Forbidden operation STORE_SUBSCR at line 3! <<-- ?????

Which seems very strange. No matter what I try and store I get the same error.

    dic = {'two': 2, 'three': 3}
    return dic['two']

The above works fine but when I try and add to it I get the same error. If this is a
simple mistake I'm making then I plead stupidity!!! Can someone tell me how to do
this in my python method? I've tested all my code in IDLE and it works fine - why not
in Zope?

Answers on a postcard to the usual address!

Thanks very much, guys.

- Best regards,

Lee

Steve Spicklemire wrote:

> Hi Lee,
>
>    You could use a dictionary for this:
>
> vars = {}
>
> while (p!=0):
>         vars['p'+`p`] = string.replace(component[control], ",", "")
>         p=p-1
>         control=control+1
>
> then 'vars' will contain keys (e.g., 'p1', 'p2' etc.. ) and corresponding values.
>
> If that's totally not what you want.. a little more context would help.
>
> ;-)
>
> -steve