Daily Develope

[Python] 알면 도움되는 자주쓰는 문법 (tips) 본문

Develope/Python

[Python] 알면 도움되는 자주쓰는 문법 (tips)

noggame 2023. 4. 10. 11:00

리스트 (List)

List의 Item 한 줄씩 출력

my_list = ["line1", "line2", "line3"]
print(f"{my_list}", sep="\n")

List 간단한 명령 한 줄로 처리

### 예) a 값이 None 인 경우를 제외하고 덧셈 값 반환

sample = [[1, 2], [3, 4], [None, 6]]
sample = [a+b for a, b in sample if a != None]

>> print(sample)
[3, 7]

List 의 index 및 값 순차출력

t_list = [1, 5, 7, 33, 39, 52]
for tup in enumerate(t):
    print(tup)

### output
(0, 1)
(1, 5)
(2, 7)
(3, 33)
(4, 39)
(5, 52)

List 문자열을 List로 변환

import ast

x = '["A" ,"B" ,"C" ,"D"]'
x = ast.literal_eval(x)

문자 / 변수 처리

한 줄에 문자 출력

print("hello world", end=" ")

Swap

a, b = 1, 2        # ASSIGN
a, b = b, a        # SWAP

Copy - shallow / deep

: 개체를 단순 복사/참조하는 경우 (shallow copy) 내부 값이 동일한 주소를 바라보면서, 복사 원본 또는 대상이 변경됨에 따라서 상호간의 값이 함께 변한다. 따라서 참조가 아니라 실제 값만 복사하려는 경우 deep copy를 사용해야한다.

import copy

a = [1, 2, 3]

### Shallow copy examples)
b = a                # a와 b의 주소값 동일
b = a[:]            # a와 b의 주소는 다르지만, 내부 값은 참조되고 있어 주소값이 동일하다.
b = copy.copy(a)

### Deep copy examples)
b = copy.deepcopy(a)

파일

파일경로 탐색

경로의 모든 파일 읽기 (폴더포함 모든 확장자 확인)

for root, dirs, files in os.walk(target_dir):
    # root : {target_dir} 절대경로
    # dirs : 현재 경로의 직속 하위 폴더 목록
    # files : 현재 경로의 폴더를 제외한 모든 파일 목록
    pass
Comments