1. 알파벳 리스트 구하기
# 알파벳 리스트 (소문자)
[i for i in string.ascii_lowercase]
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
# 알파벳 리스트 (대문자)
[i for i in string.ascii_uppercase]
# ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
# 알파벳 전체 리스트
[i for i in string.ascii_letters]
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
파이썬 문제를 풀다 알파벳 리스트를 사용할 상황이 주어졌었다.
하나하나 다 쓰기 귀찮아서 검색을 해보니,
위와 같은 방법이 있었다.
알파벳들을 스트링으로 된 리스트의 형태로 반환하는 여러 방법들이 있었지만,
ascii code를 활용하는 듯한 위의 방법이 맘에 들었다.
2. sorted() 함수와 sort() 함수
예시)
strings = ["sun", "bed", "car"]
n = 1
def solution(strings, n):
strings.sort()
answer = sorted(strings, key=lambda x:x[n])
return answer
오늘 푼 파이썬 문제의 정답 코드였는데, 해당 정답에 sort()와 sorted가 모두 들어간다.
sort()는 변수에 넣지 않은 상태로 사용하고, sorted()는 그렇지 않다.
sorted()는 보이는 것 처럼 key 를 사용해 key를 기준으로 정렬할 수 있다.
이 때, key에 lambda 를 써주면 조금 더 복잡한 기준을 세울 수 있다.
위의 예시는 strings 리스트의 element들을 n번 index를 기준으로 sorted() 한 것이다.
3. List, Map, Lambda
리스트의 요소 하나하나를 하나의 작업을 거쳐 새로운 리스트를 만들 고 싶을 때 사용한다.
def solution(array, commands):
return list(map(lambda x: sorted(array[x[0]-1: x[1]])[x[2]-1], commands))
위의 예시는,
1. map: commands 리스트의 요소 하나하나를 lambda에 x로 반환한다.
2. lambda: 그 x는 sorted( ~~ ) 작업을 수행해 map object로 반환한다.
3. list: 반환된 map object를 list로 만들어준다.
이 셋은 삼총사와도 같다.
'오늘 나는 (TIL)' 카테고리의 다른 글
[TIL 240708] 데이터 분석가로써 하면 안 되는 것들 (0) | 2024.07.08 |
---|---|
[TIL 240704] 파이썬 통합 강의, 아티클 스터디 (0) | 2024.07.04 |
[TIL 240702] Why SQL over Excel? (0) | 2024.07.02 |
[TIL 240701] datediff, window function, cominations & permutations (0) | 2024.07.01 |
[TIL 240628] Pivot Table, Window Function (0) | 2024.06.28 |