이틀 전 소켓 프로그래밍을 배웠는데, 어떤 전문가에게 조언을 구했는데, 걷는 법을 배우기도 전에 뛰고 싶은 마음이 들었어요. 스승님은 현재 수준에서 이해를 깊게 하기 위해 운영 파일, 일련 번호 등과 같은 몇 가지 작은 연습을 해야 한다고 말씀하셨습니다. 다음은 그가 나에게 준 작은 연습입니다:
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('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]))
너무 간단해서 오후 내내 했어요(뺨때리기)
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 = {'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]))
보기python공식 문서 , 얻은 지식을 요약합니다.
1、sorted
(iterable[, key][, reverse])
재순서가 지정된 목록을 반환합니다. 두 개의 선택적 키워드 인수(위치 대신 이름을 사용하여 인수 지정)
key는 매개변수가 있는 함수를 정의하고, 목록의 요소를 이 함수의 매개변수로 추출하고, 호출한 키워드로 값을 반환합니다. 기본값은 None입니다(직접 비교). 목록 요소)
reverse는 부울 값입니다. True는 목록의 요소를 역순으로 정렬하는 것을 의미합니다.
2. ln(a,b), a
위 내용은 Python 정렬 함수에 대한 작은 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!