Solved

access an attribute of a class from a list

Posted on 2009-05-03
2
231 Views
Last Modified: 2012-05-06
I have the following class.
class chrom(object):
      """docstring for chrom"""
      def __init__(self, chr, position, ma2c):
            self.chr = chr
            self.position = position
            self.ma2c = ma2c
and then i have a list of this chrom objects called chromlist.

Let us imagine I want to create a sublist with the position of the items i to j from the chromlist!!!!

How would i do that in the esiest and most efficient way. I can' t do chromsublist[0:4].position???? why?
0
Comment
Question by:dfernan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 39

Assisted Solution

by:Roger Baklund
Roger Baklund earned 125 total points
ID: 24291456
chromsublist[0:4] does return the sublist (slice in python lingo), but you can not do chromsublist[0:4].position, because the list object does not have a 'position' property. This sublist contains 5 objects, each object have the 'position' property, so you need to use a loop to access it:
positions = []
for c in chromsublist[0:4]:
    positions.append(c.position)
print positions

Open in new window

0
 
LVL 39

Accepted Solution

by:
Roger Baklund earned 125 total points
ID: 24291474
Sorry, the [0:4] slice contains 4 objects, not 5!

You could also make the list with a single statement:
# using map and lambda:
print map(lambda c:c.position,chromsublist[0:4])
 
# using list comprehension
print [x.position for x in chromsublist[0:4]]

Open in new window

0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Flask is a microframework for Python based on Werkzeug and Jinja 2. This requires you to have a good understanding of Python 2.7. Lets install Flask! To install Flask you can use a python repository for libraries tool called pip. Download this f…
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…

632 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question