Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- export to excel
- c#blob
- sql server 포트번호
- BLOB
- blobcontainer
- 코딩테스트
- 알고리즘
- 프로그래머스MYSQL
- 프로그래머스SQL
- asp.net
- 파이썬
- blob파일업로드
- 코테
- mysql
- C#
- 코딩테스트유형
- 투포인터예제
- 파이썬백준
- 로컬포트번호
- frontend
- 취업코데
- blob파일다운로드
- c# 엑셀추출
- 프로그래머스
- blob다운로드오류
- 코테유형
- sql풀이
- sql
- 백준
- queryasync
Archives
- Today
- Total
개발새발
자주 헷갈리는 Python 문법, 내장함수 사용법 본문
1. sort() vs sorted()
list = [2, 3, 1]
list.sort()
print(list) #[1,2,3]
list2 = [2, 3, 1]
b = sorted(list)
print(b) #[1, 2, 3]
- 리스트.sort() :: 원본의 값 직접 수정 VS sorted(리스트) :: 새로운 리스트 값 반환
- 역순 정렬을 위해서는 sort(reverse=True) / sorted(reverese=True)
- 튜플 정렬
- 첫번째 원소 오름차순 a.sort(key=lambda x:x[0])
- 첫번째 원소 내림차순 a.sort(key=lambda x:-x[0]) or a.sort(key=lambda x:x[0], reverse=true)
- 두번째 원소 오름차순 a.sort(key=lambda x:x[1])
- 두번째 원소 내림차순 a.sort(key=lambda x:-x[1]) or a.sort(key=lambda x:x[1], reverse=true)
- 첫번째 내림차순, 두번째 오름차순 a.sort(key=lambda x : (-x[0],x[1]))
2. 문자열에서 특정 기호 세기
- s = “1234”에서 1의 갯수는? s.count(”1”)
def solution(s):
cnt = 0
answer = 0
while s != "1":
if "0" in s: # 특정 갯수 세기
cnt += s.count("0") # 문자열 일부를 공백으로 변경하기
s = s.replace("0", "") # 10진수를 2진수로 변환하기 0b1101 이런 형태로 출력됨 [2:] 사용해 자르기
s = bin(len(s))[2:]
answer += 1
return answer, cnt
3. deque 사용
from collections import deque
deque.append()
deque.appendleft()
deque.pop()
deque.popleft()
deque.rotate() // 양수면 시계방향 회전, 음수면 반대방향 회전
3-1. heapq 사용
import heapq
def solution(n, works):
works = [-w for w in works] # '-' 사용시 최댓값 정렬
heapq.heapify(works)
for _ in range(n):
i = heapq.heappop(works)
i += 1
heapq.heappush(works, i)
return sum([w ** 2 for w in works])
deque | -선입선출- BFS from collections import deque q=deque() q.append('l') q.popleft() |
heapq | -최소힙, 최대힙-다익스트라, 최소값이나 최대값을 빨리 찾아야 할 때 from heapq import heappush, heappop, heapify q=[] heappush(q, 1) heappop(q) heapify(arr) |
4. 배열의 부분집합 구하기
import itertools
itertools.permutations(arr, 2) -> 조합 : n개를 뽑아 만들 수 있는 집합의 종류
itertools.combinations(arr, i) -> 순열 : 가능한 모든 집합의 종류
arr = list(combinations([], 2)) list로 구해야 출력가능
5. 딕셔너리 사용
# 딕셔너리 값 추가
>>> a['name'] = 'pey'
>>> a
{1: 'a', 2: 'b', 'name': 'pey'}
# 딕셔너리 키값, 밸류값 출력
a.keys()
a.values()
a.items()
# 딕셔너리 밸류값으로 정렬
sorted(d.items(), key=lambda x: x[1])
# 딕셔너리 값 삭제
del a['name']
# 딕셔너리 초기화
res = dict(a)
a = res = {1: 'a', 2: 'b', 'name': 'pey'}
6. 파이썬 중복 제거
set([리스트]) = {}
list(set([리스트])) = [] :: 리스트 형태로 출력
7. 숫자 or 문자 여부 판별
str.isdigit() / str.isalpha()
8. 대소문자 변환
str.islower() / str.isupper = bool, str.lower() / str.upper()
'코딩테스트 > Python' 카테고리의 다른 글
Python(파이썬) round 함수 반올림 오류 해결, format 반올림, 0.5 반올림 (0) | 2021.07.13 |
---|
Comments