[IronPython] How to reference List objects?
Justin Regele
jregele23 at gmail.com
Mon Jun 8 22:55:59 CEST 2009
Ah, I see. Would a python list then need to be called the way he is doing
it, though. Is this a silverlight issue? I am wondering if he can just make
a python list out of his Book C# class rather than exporting them as a list.
I am sure there would be some performance issues, so maybe that is the
reason for this way of doing it.
Wondering about this error:
System.Collections.Generic.List'1[testapp.PythonEngine+book]
What does the '+' indicate?
On Mon, Jun 8, 2009 at 1:32 PM, Michael Foord <fuzzyman at voidspace.org.uk>wrote:
> Justin Regele wrote:
>
>> Type Errors where the object is unscriptable means that it does not have
>> any indices intialized.
>>
>> Use the python interactive interpreter to play around with list methods,
>> and see how they work correctly. This is one of pythons best weapons. if you
>> don't know what objects are in a module, or what attributes/methods are in a
>> class type in dir(<module or classname>) and it will spell it out for you.
>>
>> you do need to initialize a list before access, however.
>> so you CANT do this
>>
>> x = []
>> x[0] = 'something'
>>
>> you would have to do this(making a list of 10 None objects)
>> x = [None] * 10
>> x[0] = 'something'
>>
>> OR use the append() method to make the list more like a dynamic array
>>
>> x = []
>> x.append('something')
>>
>> this is the python way of doing it, but i'm not sure why you need a .NET
>> list array.
>>
>
> He is creating the list from C# and making it available to Python code. As
> far as I can tell he is doing it right, although maybe the fact that his C#
> book class is private is interfering with it?
>
> Michael
>
>
>
>> On Mon, Jun 8, 2009 at 11:27 AM, Larry Danberger <
>> larry.danberger at nubium.com <mailto:larry.danberger at nubium.com>> wrote:
>>
>> Hi all,
>> I'm new to Python and IronPython, sorry if this is obvious. I
>> haven't found
>> answer searching web or in IronPython In Action book...
>>
>> I have embedded IronPython into silverlight app for scripting,
>> which is
>> working (wow! Btw). I use scope.SetVariable for dictionaries
>> which works as
>> expected.
>>
>> However when passing in a list I am unable to access the objects
>> within a
>> list.
>> For the example below when trying
>> x = books[0].Name
>> I get
>> TypeError: 'List[books]' object is unsubscriptable
>>
>> If I do
>> x = books
>> I get back
>> System.Collections.Generic.List'1[testapp.PythonEngine+book]
>>
>> If I do
>> Len(books)
>> I get back 4.
>>
>> How do I access them individually (by name etc.)?
>>
>> My code looks something like this:
>>
>> Class book
>> {
>> int ID { get; set; }
>> String Name { get; set; }
>> String Author { get; set; }
>> String Description { get; set; }
>> }
>>
>> ...
>> List<book> _books = new List<book>();
>>
>> _books.Add(new book { ID=1, Name="book1", Author="author1",
>> Description="Description1"});
>> _books.Add(new book { ID=2, Name="book2", Author="author2",
>> Description="Description2"});
>> _books.Add(new book { ID=3, Name="book3", Author="author3",
>> Description="Description3"});
>> _books.Add(new book { ID=4, Name="book4", Author="author4",
>> Description="Description4"});
>>
>> ...
>> _scope.SetVariable("books", _books);
>>
>>
>> Any help appreciated, thanks!
>> -Larry
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>
>
> --
> http://www.ironpythoninaction.com/
> http://www.voidspace.org.uk/blog
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20090608/c74dc8f7/attachment.html>
More information about the Ironpython-users
mailing list