파이썬 tip 정리(1)

0

스트링 조작

문자.split(자를 기준)
-> 문자를 자른 리스트를 리턴함

<->

(합칠 때 사이에 넣을 것).join(리스트)
-> 리스트를 앞쪽 괄호 기준으로 연결된 문자열로 리턴함

string => iterable 연속적인 구조를 가지고 있어서
for에서 앞문자부터 차례대로 꺼내오기 가능.
마찬가지로 인덱스로 [0]에서부터 접근 및 슬라이싱도 가능
+연산자로 문자열끼리 합치기도 가능하다.

리스트 조작

enumerate(리스트) = 리스트의 인덱스 - 값 쌍 튜플을
iteration(range처럼 순서대로 내보내 줌)

리스트 표현식

[(리스트에 들어갈 값)(반복문)(조건문)]
-반복문이 여러개인 경우
[(리스트에 들어갈 값)(반복문1)(반복문2)(조건문)]

만약 조건문에 else 가 들어가는 경우

[(조건문 true)일때 값(조건문)(False일때 값)(반복문)]
-조건문이 앞쪽으로 도치됨

조건문의 조건이 여러 개인 경우 (elif구문 사용 불가)

[(조건문 true일 때 값)(조건1,2 and로 연산)(조건문 1,2 False일때 값)(조건문2)(False일 때 값)(반복문)]

.zip
리스트들을 튜플이나 여러 개의 값을 가지는 리스트로 언패킹 해줌
A(리스트), B(리스트)일 때 zip(A, B)
이터레이션으로 A[0],B[0] -> A[1],B[1] 순으로 내보내줌

리스트에 하나씩 추가

(리스트).append(추가할 것) : 맨 뒤부터 추가됨

리스트에 여러개씩 추가

(리스트).extend(추가할 것) : 맨 뒤부터 추가됨

리스트에서 삭제

(리스트).remove(삭제할 값) : 앞에서부터 찾아서 삭제(매우 느림)
(리스트).pop() : 리스트 맨 뒤에서부터 삭제 후 삭제한값 return
(리스트).pop(0) : 리스트 맨 앞에서부터 삭제 후 return
del 리스트[인덱스] : 인덱스를 찾아서 삭제

리스트 내의 리스트를 가지는 행렬구조의(A,B)의 경우
단순히 A = B 라고 하면 내부 리스트가 서로 동기화된다.
때문에 copy 모듈을 import해서
A.copy.deepcopy(B) 방식으로 해주면
내부 원소를 변환해 줄 수 있다.

sort, sorted

(리스트).sort() 기본적으로 내림차순 정렬 (원본 리스트 수정)
내림차 순 1,2,3,4
(리스트).sort(reverse=True) 오름차순으로 변환
B = A.sorted() 새 변수에 정렬한 것을 저장(원본 리스트 유지)

조건문 if

조건문 if절의 결과는 True or False로 나타나므로
Bool값을 대입하는 경우처럼 ==등 연산자 없이 통과 가능
-> 0, 0아닌 수, 문자열 등도 조건식 안적어도 된다.
마찬가지로 == 만 사용해도 연산 결과는 True / False로 나온다.

else절에 특별히 할 일이 없는 경우 pass 해줘도 되지만
그냥 else절을 안써도 잘 굴러감.

아직 부족한 것 + 기타

lambda 함수
F-string 사용법

range(시작숫자, 끝 숫자)로 for문에 나올 숫자 지정 가능

iterable : 그냥 연속적(sequencial)이라는 뜻
iteration : 연속적으로 값을 배출(range처럼)

=, == 구별 잘하기 (매번 이거로 오류남)

0개의 댓글