python - How to sort a list containing objects? -
i have following code:
lst = []  class data:     def __init__(self):         s = ['','']  def filllst():     d1 = data()     d1.s[0] = 'zebra'     d1.s[1] = 23      d2 = data()     d2.s[0] = 'airplane'     d2.s[1] = 435      d1 = data()     d1.s[0] = 'aira'     d1.s[1] = 211       lst.append(d1)     lst.append(d2)     lst.append(d3) when print list following:
zebra - 23 aira - 211 airplane - 435 now want sort list output:
aira - 211 airplane - 435 zebra - 23 so how can sort list data objects in it?
you this:
sorted(lst, key=lambda data: data.s[0]) if want sort elements in lst s[0].
sorted function has parameter key can specify function returns key sort.
sorted function in python document:
sorted(iterable[, key][, reverse])
...
key specifies function of 1 argument used extract comparison key each list element:
key=str.lower. default valuenone(compare elements directly).
Comments
Post a Comment