I learned socket programming two days ago, and when I asked a certain expert for advice, I was rejected. I felt like I wanted to run before I even learned how to walk. The master said that for my current level, I should do some small exercises such as operating files, serial numbers, etc. to deepen my understanding. The following is a small exercise he gave me:
1. datas = [['sherry',19,'female'],['flora',21,'female'],[' june',15,'femal']], sort the output according to the first letter of the name and age respectively;
2. Output the comparison results according to the given output method, and supplement the Person class;
class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']} class Person(object): def __init__(self,name,age): self.name = name p1 = Person('sherry',20) p2 = Person('june',20) if p1<p2: print('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age])) else: print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
It’s so simple, I actually did it all afternoon (slap in the face)
def get_first(info): first_value = info[0][0] return first_value na = sorted(datas,key=get_first) print(na) def age_sort(info): return info[1] print(sorted(datas,key=age_sort))
Answer to question 2
class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']} class Person(object): def __init__(self,name,age): self.name = name self.age = age def __lt__(self,others): if(self.age<others.age): return 1 elif(self.age==others.age): if(self.name[0]<others.name[0]): return 1 else: return 0 return 0 p1 = Person('sherry',20) p2 = Person('june',20) if p1<p2: print('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age])) else: print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
ViewpythonOfficial documentation , summarize the knowledge gained.
1、sorted
(iterable[, key][, reverse])
Returns a reordered list, with two optional keyword arguments (specify arguments by name rather than position).
key defines a function with parameters, extracts an element of the list as a parameter of this function, and returns the value as the keyword you call. The default value is None (direct comparison of the list Element)
reverse is a Boolean value. True means to sort the elements in the list in reverse order.
2. ln(a,b), when using a
The above is the detailed content of A small example about python sorted function. For more information, please follow other related articles on the PHP Chinese website!