By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,767 Members | 1,354 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,767 IT Pros & Developers. It's quick & easy.

How to display name of elements in list?

P: n/a
cz
Hi there,

I'm sure there is a very simple solution for my question, I just didn't
find it up to now.
I'm using a badly documented module and therefore need to find out
about how to access the elements in a list.
(I need to do this in Python 1.5.3)
Any help appreciated very much. Thanks!

cz

Jul 12 '06 #1
Share this Question
Share on Google+
13 Replies


P: n/a
Ant
I'm using a badly documented module and therefore need to find out
about how to access the elements in a list.
(I need to do this in Python 1.5.3)
I presume this is the same in 1.5 use dir():
>>import os
dir(os)
['F_OK', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT',
'O_RANDOM',
'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY',
'O_TEXT',

(etc)

Jul 12 '06 #2

P: n/a
On Wed, 12 Jul 2006 05:17:30 -0700, cz wrote:
Hi there,

I'm sure there is a very simple solution for my question, I just didn't
find it up to now.
I'm using a badly documented module and therefore need to find out
about how to access the elements in a list.
Er, the same way you would access the elements in any other list?

mylist[0]
mylist[1:5]

etc.
Perhaps you need to rephrase your question.
--
Steven.

Jul 12 '06 #3

P: n/a
cz
Perhaps you need to rephrase your question.
--
Steven.
Thanks for your reply.
OK, I'll try to make this more clear:
My list called "elten" looks like that:

[Tensor: id = 1, intensity = 2976.52
xx = -1447.32, xy = 52.458, xz = -594.186
yy = -1090.54, yz = -0.0158068, zz = -4043.
, Tensor: id = 26, intensity = 2896.9
...
, Tensor: id = 5, intensity = 2920.5
xx = -1534.53, xy = 23.4858, xz = -623.967
yy = -1070.47, yz = 99.6301, zz = -3979.87
]

Now with
>>print elten[1].id
I will get "1" as an answer.
Or with
>>print elten[1].intensity
it will print "2976.52".
But this doesn't work for >>print elten[1].xx, why? So that's how I
came to the question how to access these values. Any idea?
Thanks a lot!
cz

Jul 12 '06 #4

P: n/a
Hi Claudio,

cz wrote:
>Perhaps you need to rephrase your question.
--
Steven.

Thanks for your reply.
OK, I'll try to make this more clear:
My list called "elten" looks like that:

[Tensor: id = 1, intensity = 2976.52
xx = -1447.32, xy = 52.458, xz = -594.186
yy = -1090.54, yz = -0.0158068, zz = -4043.
, Tensor: id = 26, intensity = 2896.9
...
, Tensor: id = 5, intensity = 2920.5
xx = -1534.53, xy = 23.4858, xz = -623.967
yy = -1070.47, yz = 99.6301, zz = -3979.87
]

Now with
>>print elten[1].id
I will get "1" as an answer.
Or with
>>print elten[1].intensity
it will print "2976.52".
But this doesn't work for >>print elten[1].xx, why? So that's how I
came to the question how to access these values. Any idea?
The list above is not a valid Python list. What is it that you store in that list?

Or is it maybe a dictionary?

Stefan
Jul 12 '06 #5

P: n/a
cz
The list above is not a valid Python list. What is it that you store in that list?
>
Or is it maybe a dictionary?

Stefan
Thanks for your help. How can I find out about what this is? As I said
it's generated by a insufficiently documented module. So if this is a
user defined datatype, is there still a possibility to find the name of
the data fields storing the xx, xy, ... ?
Thanks.

Jul 12 '06 #6

P: n/a
cz wrote:
>The list above is not a valid Python list. What is it that you store in
that list?

Or is it maybe a dictionary?

Stefan

Thanks for your help. How can I find out about what this is? As I said
it's generated by a insufficiently documented module. So if this is a
user defined datatype, is there still a possibility to find the name of
the data fields storing the xx, xy, ... ?
I guess the objects stored in the list have a __repr__-method overloaded
that produces the text you see.

What you should do is to install rlcompleter2, fire up a python prompt and
write code that produces a list of your objects. Then you can play around
with the objects and utilize the reflection capabilities of python, which
are conveniently exposed using rlcompleter2.

Another option is to look into the source of that module and identify the
objects created. Documentation is overrated - use the source, Luke!

Diez
Jul 12 '06 #7

P: n/a
>My list called "elten" looks like that:
>>
[Tensor: id = 1, intensity = 2976.52
xx = -1447.32, xy = 52.458, xz = -594.186
yy = -1090.54, yz = -0.0158068, zz = -4043.
, Tensor: id = 26, intensity = 2896.9
...
, Tensor: id = 5, intensity = 2920.5
xx = -1534.53, xy = 23.4858, xz = -623.967
yy = -1070.47, yz = 99.6301, zz = -3979.87
]
The list above is not a valid Python list. What is it that you store in that list?
It might well be a normal Python list.

The question is what type the items in the list are...
The result of printing a list L is basically a string you
could make like this:

'[' + ','.join(map(repr,L)) + ']'

It seems the elements in this list appear as something
like this when you apply the repr() function on them:

Tensor: id = 1, intensity = 2976.52
xx = -1447.32, xy = 52.458, xz = -594.186
yy = -1090.54, yz = -0.0158068, zz = -4043.

So, the issue is not how you work with a list,
but how you work with the elements of this type.

To reduce the problem to that, you can assign the
first element in the list to a variable.

elem0 = elten[0]

Then you can inspect that in isolation, without
the confusion of the list.

type(elem0)
dir(elem0)
etc...
Jul 12 '06 #8

P: n/a
cz schrieb:
>The list above is not a valid Python list. What is it that you store in that list?

Or is it maybe a dictionary?

Stefan

Thanks for your help. How can I find out about what this is? As I said
it's generated by a insufficiently documented module. So if this is a
user defined datatype, is there still a possibility to find the name of
the data fields storing the xx, xy, ... ?
Maybe you should read a bit about Python classes and built-in functions like
"dir()", "type()", "vars()", ...

http://docs.python.org/tut/node8.htm...00000000000000
http://docs.python.org/tut/node11.html
http://docs.python.org/lib/built-in-funcs.html

Just start an interactive Python session and play with the object you are
trying to explore. That should get you going.

Stefan
Jul 12 '06 #9

P: n/a
Stefan Behnel wrote:
The list above is not a valid Python list.
there's no Python 1.5.3 either. maybe he's posting from a parallel,
slightly different universe ?

</F>

Jul 12 '06 #10

P: n/a
Diez B. Roggisch <deets <atnospam.web.dewrites:
>
What you should do is to install rlcompleter2...
[snip]
>
Another option is to look into the source of that module and identify the
objects created. Documentation is overrated - use the source, Luke!
rlcompleter is overrated, and only works on Unix/Linux/etc.

IDLE's interpreter has an auto-completion extension, which is bundled in
Python2.5.

You can also get a much better version of IDLE which includes a more robust
version of the completion extension from Idle-Spoon:
http://idlespoon.python-hosting.com/
stefan writes:
>
Just start an interactive Python session and play with the object you are
trying to explore. That should get you going.
+1
Python is fun - just open an interpreter and play around!
- Tal

Jul 12 '06 #11

P: n/a
rlcompleter is overrated, and only works on Unix/Linux/etc.
>
IDLE's interpreter has an auto-completion extension, which is bundled in
Python2.5.
I don't use idle, and don't want to. So for me rlcomlpeter2 is a good thing.
And under windows, it at least works under cygwin.

Diez

Jul 12 '06 #12

P: n/a
Pretty sure he meant 1.5.1.

Found the documentation for the program he's using here:
http://www.hpcu.uq.edu.au/Manuals/MS...hon_manual.pdf
It looks like the PyTensor object *should* have .xx, .xy, etc
properties, but they may be accessible through a matrix, i.e. .t(i,j)

Jul 12 '06 #13

P: n/a
cz

ru*****@gmail.com wrote:
It looks like the PyTensor object *should* have .xx, .xy, etc
properties, but they may be accessible through a matrix, i.e. .t(i,j)

Thanks to all of you for your help!
The solution is easy: The tensor components have labels t11, t12,...
Good guess ruibalp!

Jul 27 '06 #14

This discussion thread is closed

Replies have been disabled for this discussion.