1

I define a struct by class like this:

  class image:
  def __init__(self):
      self.address = ''
      self.label = 1
      self.storage = 1

Then, I put 100 stuct data into one list.

images = []
for i in range(100):
    single_image = image()
    single_image.address = 'xxx'
    single_image.label = 3 #1:5
    single_image.storage = 10 #1:100

How can I sort images by the storage?

Lixin
  • 11
  • 1
  • 2

2 Answers2

3

Use operator

import operator
images.sort(key=operator.attrgetter('storage'))
panktijk
  • 1,574
  • 8
  • 10
1
import operator  
images_sorted = sorted(images,key=operator.attrgetter('storage'))

or you can sort images in place.

images.sort(images,key=operator.attrgetter('storage'))
mJace
  • 49
  • 1
  • 8