목록STUDY/Python (14)
archive

import zipfile zipfile.is_zipfile(file_name) # zip 파일이 맞는지 확인 zipfile.ZipFile(file_name).namelist() # 압축 파일 내 파일명 리스트로 반환 with zipfile.ZipFile(file_name) as z: z.extractall() # 모든 파일 압축 해제 with zipfile.ZipFile(file_name) as z: z.extractall(path) # path에 모든 파일 압축 해제 (참고) with-as : seonyounggg.tistory.com/138 추가로, 사용하다가 발견한 점을 정리한다. is_zipfile()은 magic number를 기반으로 파일의 형식을 구분한다. File Magic Number ..
파이썬에서는 생소하게도 for-else문이 존재한다. 처음봤을 땐 인덴트가 왜저래 했는데 파이썬에서 제공하는 문법이었다.ㅎ 알고리즘 짜다보면 for문이 breake되서 끝난 경우랑 끝까지 돌고 끝난 경우의 구분이 필요해서 flag변수를 종종 쓰곤 했는데 for-else문을 통해 좀 더 간편하게 작성할 수 있다. for문이 break을 통해 종료되는 것이 아니라, 끝까지 돌고 나서 종료된 경우에 else문이 실행된다. 인덴트 주의! (for와 같은 선상에 둬야 한다.) 다음과 같은 예제를 보자. numbers 리스트에서 찾는 값이 있는지 검사하는 코드이다. (in, not in 연산자의 동작과 같음) 리스트에 없다면 "Not Found"를 출력하도록 하였다. numbers = [1, 2, 3, 4, 5] ..
any()와 all()은 모두 반복가능한 자료형을 인자로 받아 조건 성립 유무에 따라 True/False를 반환하는 내장 함수이다. 반복가능한(iterable) 자료형이란 값을 하나씩 꺼낼 수 있는 자료형으로 (for문에서 쓸 수 있는 자료형들) 리스트, 튜플, 집합, 딕셔너리, 문자열을 말한다. ● any() 인자로 받은 객체의 원소들 중 조건을 만족하는 원소가 하나라도 있으면 True를 반환한다. 즉 OR의 개념이다. ● all() 인자로 받은 객체의 원소들 중 모든 원소가 조건을 만족하면 True를 반환한다. 즉 AND의 개념이다. 두 함수를 소스코드로 정리하면 아래와 같다. >>> any((False, False)) False >>> any((True, False)) True >>> all((Tr..
collections 모듈의 Counter클래스는 컨테이너에 동일한 자료형이 몇 개인지 파악하는 데 사용하는 객체이다. 다음과 같이 import 해서 사용할 수 있다. from collections import Counter 결과는 딕셔너리 형태로 반환된다. Counter클래스의 다양한 예시는 아래와 같다. - 리스트 import collections words = ['a', 'a', 'b', 'c'] counts = collections.Counter(words) print(counts) ''' Counter({'a': 2, 'b': 1, 'c': 1}) ''' print(counts['a']) ''' 2 ''' print(counts['d']) ''' 0 ''' for key, value in cou..
1. 구글 파이썬 스타일 가이드 google.github.io/styleguide/pyguide.html styleguide Style guides for Google-originated open-source projects google.github.io 2. PEP8 www.python.org/dev/peps/pep-0008/ PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org

Comprehension은 리스트, 집합, 딕셔너리에 적용될 수 있다. 대표적으로 쓰이는 리스트 컴프리헨션에 대해 알아보자. a = [] for i in range(10): a.append(i+1) print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] b = [i+1 for i in range(10)] print(b) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 반복문을 통한 배열 생성을 리스트 컴프리헨션을 통해 아래와 같이 간단하게 표현할 수 있다. for 앞에는 반복문을 통해서 생성된, 즉 리스트에 넣을 값을 의미한다. 아래 그림으로 이해할 수 있다. for 문 내에서 조건문을 사용하기 위해서는 아래와 같이 작성한다. a = [i for i in range(10..