Home  >  Article  >  Backend Development  >  Introduction to python sorted function

Introduction to python sorted function

高洛峰
高洛峰Original
2017-03-04 17:29:372458browse

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 at 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(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))

It’s so simple that I 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))
 题目1
class_mates = {&#39;sherry&#39;:[18,&#39;male&#39;],&#39;june&#39;:[20,&#39;female&#39;],&#39;flora&#39;:[19,&#39;female&#39;],&#39;alina&#39;:[21,&#39;male&#39;]}

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(&#39;sherry&#39;,20)
p2 = Person(&#39;june&#39;,20)


if p1<p2:
    print(&#39;p1:{} less than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))
else:
    print(&#39;p1:{} gte than p2:{}&#39;.format([p1.name,p1.age],[p2.name,p2.age]))

题目2答案

Check out the official python documentation and 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

For more articles related to the introduction of python sorted function, please pay attention to the PHP Chinese website!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn