>  기사  >  백엔드 개발  >  Python 정렬 함수에 대한 작은 예

Python 정렬 함수에 대한 작은 예

迷茫
迷茫원래의
2017-03-25 14:39:571257검색

이틀 전 소켓 프로그래밍을 배웠는데, 어떤 전문가에게 조언을 구했는데, 걷는 법을 배우기도 전에 뛰고 싶은 마음이 들었어요. 스승님은 현재 수준에서 이해를 깊게 하기 위해 운영 파일, 일련 번호 등과 같은 몇 가지 작은 연습을 해야 한다고 말씀하셨습니다. 다음은 그가 나에게 준 작은 연습입니다:

1. datas = [['sherry',19,'female'],['flora',21,'female'],[' june',15,'femal']], 이름과 나이의 첫 글자에 따라 출력을 정렬합니다.

2. 주어진 출력 방법에 따라 비교 결과를 출력하고 Person 클래스를 보완합니다. ;

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]))

너무 간단해서 오후 내내 했어요(뺨때리기)

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))

질문 2에 답

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]))

보기python공식 문서 , 얻은 지식을 요약합니다.

1、sorted(iterable[, key][, reverse])

재순서가 지정된 목록을 반환합니다. 두 개의 선택적 키워드 인수(위치 대신 이름을 사용하여 인수 지정)

key는 매개변수가 있는 함수를 정의하고, 목록의 요소를 이 함수의 매개변수로 추출하고, 호출한 키워드로 값을 반환합니다. 기본값은 None입니다(직접 비교). 목록 요소)

reverse는 부울 값입니다. True는 목록의 요소를 역순으로 정렬하는 것을 의미합니다.

2. ln(a,b), a

위 내용은 Python 정렬 함수에 대한 작은 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.