파이썬 알고리즘

    if k == a or k == b: // if k ==a or b:

    ① if k == a or k ==b: ② if k ==a or b: ※ ① 과 ②는 전혀 다른 식이다. (중요) 예시 def solution(my_string): answer='' for k in my_string: if k == "a" or k== "e" or k == "i" or k =="o" or k == "u": #if k == "a" or "e" or "i" or "o" or "u": 전혀 다른 코드임 continue answer+=k return answer 코드 4번째 줄의 경우는 ①에 해당한다. 코드 5번째 줄의 경우는 ②에 해당한다. 이 경우에는 if e: → if 문자열: 이 되어서 항상 참이 나오게 된다.

    deque.rotate()★★

    deque의 rotate()를 사용해서 리스트 회전하기 리스트 자료형을 deque자료형으로 바꾼후 rotate()함수를 이용하면 된다. 음수를 넣게 된다면 왼쪽회전 양수는 오른쪽회전이다. from collections import deque test = [1, 2, 3, 4, 5, 6, 7, 8, 9] test = deque(test) test.rotate(2) result = list(test) print(result) #출력결과 [8, 9, 1, 2, 3, 4, 5, 6, 7] 위 결과를 보게되면 2는 양수이므로 오른쪽으로 2만큼 회전한것을 볼 수 있다.

    1차원 리스트, 문자열 여러 개로 슬라이싱★★★ + 떡 썰기★

    문제풀이 def list_chunk(list, n): return [list[i:i+n] for i in range(0, len(lst), n)] ▶ n 은 n개씩 쪼갬을 의미한다. ▶ 리스트 뿐만 아니라 문자열에도 적용가능하다. ▶ i가 n개씩 점프를 뛰어가되 i의 도약지점에서부터 i+n직전까지 슬라이싱 하겠다 보충 def solution(num_list, n): answer = [] cnt = 0 temp = [] for num in num_list: temp.append(num) cnt += 1 if cnt == n: answer.append(temp) temp = [] cnt = 0 return answer

    리스트 index() 함수

    a =[ 1, 2, 3, 3, 4] print(a.index(3)) 출력결과 : 2 3에 해당하는 인덱스가 여러개 일지라도 첫번째 인덱스만을 출력해준다.