반응형
코드>>
a_var = ["4444", "333", "222", "455", "505", "770"]
def key_ex(x):
return x[-1],x[1]
print(sorted(a_var, key=len))
print("#################")
print(sorted(a_var, key=key_ex))
print("#################")
print(sorted(a_var, key=lambda x: x[0]))
결과>>
['333', '222', '455', '505', '770', '4444']
#################
['770', '222', '333', '4444', '505', '455']
#################
['222', '333', '4444', '455', '505', '770']
주석>>
sorted 함수는 입력 받은 list 값들을 정렬해준다.
key 값은 정렬 방법을 정의하는데 키 값 으로 len이 들어가면 a_var 리스트 값들의 길이 순으로 정렬하는 것이다.
key_ex의 함수는 a_var 리스트를 받아서 각 항목의 [-1],[1] 위치 값을 비교 기준으로 삼는 것이다.
예를 들어 리스트 값중에 "770"의 [-1]은 0이므로 결과 값중에 제일 앞에 위치했다. "505"와 "455"의 [-1] 값은 5로 동일하다. 하지만 두번째 정렬 기준이 0과 5 중에 0이 작으므로 505가 앞에 정렬 되었다.
lambda는 한줄로 함수를 처럼 실행해주는 역할 인데 a_var리스트 인자값 중 [0]을 기준으로 하겠다는 뜻이다.
반응형
'파이썬(Python) > 문법' 카테고리의 다른 글
if in 구문, for in 구문 (0) | 2020.12.03 |
---|---|
ASCII vs Unicode(유니코드) vs UTF-8 차이 (0) | 2020.12.03 |
sort vs sorted 차이 join 함수 (0) | 2020.12.02 |
collections Counter 로 가장 많이 사용한 단어 찾기 (0) | 2020.12.01 |
파이썬 list 와 슬라이싱(slicing) (0) | 2020.11.30 |