goodthings4me.tistory.com
파이썬 sort()는 원본을 변경시키는 함수인 반면 sorted()는 원본을 변경시키지 않는 정렬 방법의 함수이다.
# 리스트 sort()
ls = [3, 1, 4, 2]
ls.sort() # 오름차순이 디폴트임
print(ls) # [1, 2, 3, 4] 원본 변경시킴
ls = [3, 1, 4, 2]
ls.sort(reverse = True) # 내림차순
print(ls)
lt = [('yoon', 33), ('lee', 35), ('park', 29)]
lt.sort()
print(lt) # [('lee', 35), ('park', 29), ('yoon', 33)] 이름 순
lt.sort(reverse = True)
print(lt) # [('yoon', 33), ('park', 29), ('lee', 35)] 이름 역순
# 나이로 정렬하는 sort() 만들기
# 리스트에 저장된 튜플을 인자로 전달받아 나이를 반환하는 함수를 sort()에 key로 전달
lt = [('yoon', 33), ('lee', 35), ('park', 29)]
def age(tu):
return tu[1] # 이름 반환은 tu[0]
lt.sort(key = age)
print(lt) # [('park', 29), ('yoon', 33), ('lee', 35)]
lt.sort(key = age, reverse = True)
print(lt) # [('lee', 35), ('yoon', 33), ('park', 29)]
# lambda 함수 사용해도 됨
lt.sort(key = lambda t: t[1]) # 이름은 lambda t: t[0]
print(lt) # [('park', 29), ('yoon', 33), ('lee', 35)]
# 문자열 길이로 정렬하기
lss = ['Julia', 'Yoon', 'Steeven', 'lee']
lss.sort(key = len)
print(lss) # ['lee', 'Yoon', 'Julia', 'Steeven']
# 리스트에 저장된 튜플 정렬하기
ltnums = [(3, 1), (2, 9), (0, 5), (4, 3)]
ltnums.sort(key = lambda t: t[0] + t[1], reverse = True)
print(ltnums) # [(2, 9), (4, 3), (0, 5), (3, 1)] / 합계 내림차순
# 원본이 변하지 않는 sorted()
ltd = [('yoon', 33), ('lee', 35), ('park', 29)]
cpy = sorted(ltd, key = lambda t: t[1])
print(cpy) # [('park', 29), ('yoon', 33), ('lee', 35)]
print(ltd) # [('yoon', 33), ('lee', 35), ('park', 29)]
# sort() 함수 못 쓰는 튜플을 sorted()를 사용하여 정렬하기
tu = (3, 1, 2, 4)
#tu.sort() # AttributeError: 'tuple' object has no attribute 'sort'
tcpy = sorted(tu)
print(tcpy) # [1, 2, 3, 4] / 리스트로 반환
print(tuple(sorted(tu))) # (1, 2, 3, 4)
# 튜플의 숫자문자열 정렬
org = ('412', '214', '197', '398')
t_cpy = tuple(sorted(org, key = lambda t: int(t[0])))
print(t_cpy) # ('197', '214', '398', '412')
[참고자료] 윤성우의 열혈파이썬 중급편
블로그 인기글
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기
엑셀을 사용하다 보면 엑셀 시트를 분리해서 저장해야 할 때가 있다. 최근에도 이런 경우가 발생하여 구글링 후 엑셀 시트 분리 업무를 수행하고 내친김에 다른 사람들도 사용할 수 있도록 파이썬 tkinter로 프로그램으로 만들어 보았다. Excel Sheets 분리 저장하는 프로그램(with 파이썬 Tkinter) ※ 프로그램 다운로드(네이버 MYBOX에서 공유) : ExcelSeparateSheets.zip ▶ 프래그램을 실행하면 다음과 같이 초기 화면이 보인다. 찾아보기 : 엑셀 파일이 있는 폴더를 선택한다. (프로그램이 있는 최상위 디렉터리가 열린다) 실행하기 : 프로그램 실행 버튼 상태 변경 순서 : 실행전 → 실행 중 → Sheet "OOO" 분리 저장 중 → 실행 완료 실행 결과 확인 : 엑셀 파..
goodthings4me.tistory.com
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] 파이썬 클래스 상속(inheritance) (0) | 2020.09.10 |
---|---|
[python] 파이썬 클래스와 객체의 본질, 그리고 독특한 특성 (0) | 2020.09.09 |
[python] 파이썬 enumerate와 문자열 비교 (0) | 2020.09.08 |
[python] 파이썬 시간 관련 함수, time() datetime() timezone() (0) | 2020.09.08 |
[python] 순서와 중복을 허용하지 않는 파이썬 set(), frozenset() 함수 (0) | 2020.09.03 |
댓글