본문 바로가기

dict3

key와 lambda를 이용한 정렬 리스트를 보면 [[키,값],[이름,점수],[상품,가격],[단어(단어길이]] 이런 식으로 된 값들을 정렬하라는 문제들을 확인 할 수 있습니다. 하지만 파이썬을 이용하면 이러한 문제들은 key와 lambda를 이용해서 아주 쉽게 해결할 수 있습니다. 먼저 처음 예시는 간단하게 과일을 이름순으로 정렬하고 그다음 가격이 낮은 순으로 정렬하겠습니다. 먼저 과일의 값들은 아래와 같습니다. data = [ ["고구마",25000], ["바나나",123232], ["파인애플",4500], ["감자",3000], ["금귤",6000] ] 가격을 기준으로 정렬하겠습니다. data.sort(key = lambda x:x[1]) print(data) ## 출력 값 #[['감자', 3000], ['파인애플', 4500], ['.. 2020. 10. 20.
파이썬 자료구조(심화)-1 파이썬 기본적인 자료구조 먼저 기본적으로 앞에서 list, tuple, dict을 설명했습니다. 이제 다른 자료구조와 앞에서 배웠던 자료구조 기반으로 만들어진 라이브러리 자료 구조를 확인하겠습니다. Dict 기반 자료구조 collections.OrderDict 먼저 파이썬 3.6버전 이전에는 dict에 데이터를 삽입해도 순서대로 저장된다는 보장이 없었습니다. 그래서 OrderDict를 사용했는데 요즘 3.6 버전 이후에 dict는 OrderDict의 기능을 가지고 있어서 굳이 OrderDict를 사용 안해도 순서대로 저장이 됩니다. 하지만 만약 키의 순서를 매우 중요하게 여기는 경우 OrderDict로 dict를 선언하는 것을 추천합니다. OrderDict는 키의 삽입 순서를 유지하는 Dict의 서브 클.. 2020. 9. 16.
*args와 **kwargs *args와 **kwargs를 이용하면 좋은점 먼저 이 두가지를 이용하면 함수가 선택적 인자를 받아들일 수 있으므로 모듈 및 클래스에서 유연한 API를 만들 수 있습니다. 먼저 간단한 함수 하나를 만들겠습니다. def foo(required, *args, **kwargs): print(required) if args: print(f'args 호출 : {args}') if kwargs: print(f'kwargs 호출 : {kwargs}') 함수 앞에는 최소한의 'required'라는 인자 하나를 필요로 하지만 추가 위치 인자와 키워드 매개 변수도 추가로 사용할 수 있습니다. 이제 추가 인자를 사용하여 함수를 호출하면 매개 변수 이름 앞에 * 접두사가 있어서 args가 여분의 위치 인자를 튜플로 수집합니다.. 2020. 9. 14.