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