코테 준비(정렬)
정렬에서 가장 유용한 식은 list에서 sort 혹은 sorted에서 key를 통해서 정렬하는 것이 가장 유용하다고 생각한다.
something = [어떤한 값들]
something.sort(key = lambda x : (조건1,조건2,조건3...))
##key를 기준으로 정렬하여라 => 조건을 기준으로 정렬하여라
ex)길이를 기준으로 정렬하여라
something.sort(key = lambda x: len(x))
ex)길이를 기준으로 정렬하되 길이가 같으면 사전 순으로 정렬하여라
something.sort(key = lambda x: (len(x), x))
ex)길이를 기준으로 정렬하되 길이가 같으면 사전 역순으로 정렬하여라
something.sort(key = lambda x: (len(x), -x))
ex) 2번째 인덱스를 기준으로 사전순으로 정렬하라 만약 같다면 길이순으로 정렬해라
그래로 중복되는게 있다면 1번째 인덱스를 기준으로 정렬해라
something=["ab","abc","abcd","cbas","acd"]
print(something)
something.sort(key = lambda x: (x[1],len(x),x[0]))
print(something)
결과__
['ab', 'abc', 'abcd', 'cbas', 'acd']
['ab', 'abc', 'abcd', 'cbas', 'acd']
list에서 중복을 제거하고 싶다면 크게 두가지 방법이 있다.
1번째 set을 활용한 제거
set함수의 특징은 1 : 중복되는 원소는 없다. 2: 순서가 없다 이렇게 두개가 있는데 이중 첫번째 성질인 중복되는 원소가 없다를 활용한 제거 방법이다.
my_list = [1,2,3,4,5,5]
my_list = list(set(my_list)) ## set함수를 사용하면 반환값은 리스트가 아니라 자료형이 반환되므로
## 다시 리스트 형으로 형변환을 해줘야한다.
for문을 사용한 제거 방법
전체를 순회하면서 일일이 확인해주는 방법이다.
my_list = [1,2,3,4,5,5]
new_list = []
for index in my_list:
if index2 not in my_list:
new_list.append(index2)
참조 : https://dailyheumsi.tistory.com/67
Author And Source
이 문제에 관하여(코테 준비(정렬)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyundong_kk/코테-준비정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)