파이썬(Python)/문법

sorted 와 key 값, lambda 사용법, 키 값으로 함수사용

끄적끄적아무거나 2020. 12. 2. 11:30
반응형

코드>>

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]을 기준으로 하겠다는 뜻이다.

 

 

 

 

 

 

 

반응형