728x90
파이썬에서 리스트의 요소를 정렬하는 방법은 대표적으로 두 가지가 있다.
sort 메소드와 sorted 함수
이 둘의 차이점을 비교해보려고 한다.
1. sort() 메소드
- 리스트의 메소드이다.
- return값이 없다.
위의 코드처럼 작성하면 반드시 에러가 난다.
에러가 나는 이유를 찾아보니 sort() 메소드는 return 값이 없기 때문이다.
arr 변수가 받아서 사용할 return값이 없어 에러가 나는 것이다.
2. sorted() 함수
1. 함수이다. 메소드와 같이 클래스에 종속되어있지 않음.
2. sort()와 다르게 return 값이 존재한다.
위와 같은 코드를 작성하고 sorted () 함수를 사용하면 에러 없이 결과가 나온다.
이름, 역할이 비슷한데 왜 비슷한걸 하나 더 만들었을까.. 싶은 메소드, 함수들이 있는데 이렇게 조금씩 차이가 있는걸 알게되니 재밌다. 정렬할 때 헷갈리지 말고 사용해야겠다.
메소드와 함수의 차이점은 아래의 사이트에서 확인이 가능하다.
간단하게 정리하면,
함수는 함수 이름을 통해 함수를 이용할 수 있으며 독립적으로 정의가 되어있다.
메소드는 메소드 이름으로만 호출할 수 없고, 정의된 클래스의 참조에 의해 클래스를 호출해야한다.
즉 메소드는 클래스 내에서만 정의되므로 해당 클래스에 종속적이다.
반응형
'Study > Python' 카테고리의 다른 글
[Python/파이썬] lambda와 sort 정리 (0) | 2021.03.23 |
---|---|
[Django/Python] (진행중) 점프 투 장고 2-1. 주소와 화면을 연결하는 URL과 뷰 (1) | 2021.03.22 |
[Python/파이썬] 파이썬 입력받는 방법 with input()과 sys.stdin.readline() (0) | 2021.03.09 |
[Python/파이썬] 리스트의 두 요소 위치 변경하기 (스와프,swap) (1) | 2021.02.10 |
[Python/파이썬] 리스트 요소추가 (append / insert / extend) (0) | 2021.01.27 |