읽을 때는 ‘이너믈레이트’ 라고 읽는다. C 계열 언어에서는 enum이라는 데이터형을 많이 사용해봤을 테지만 그것과는 엄연히 다른 것이다. enumerate는 인덱스를 붙여주는 역할을 한다. 예시로 모 게임의 주인공들을 일단 리스트로 열거해보자. atelierTwilight = [("Ayesha", 1), ("Escha", 2), ("Logix",...
Python - 이너믈레이트(enumerate)
Python - 자료 구조형들의 언패킹(unpacking)
1. 기본 언패킹 2. 딕셔너리(Dictionary)의 언패킹 기본 언패킹 tup = ("a", "b") a, b = tup print(a) print(b) 간단하다. 설명은 생략한다. 딕셔너리(Dictionary)의 언패킹 1. 먼저 Dict을 준비한다. peopleDict = { "People1": {"Height": 17...
Python - 배열(array.array)
숫자(실수)를 정말 많이 저장할 때는 리스트보다 오히려 배열이 더 유리하다. 배열은 시퀀스(https://shechren.github.io/lunetzsche/posts/Sequence/를 참조하라)의 한 종류로서 가변형이며, 파일을 읽어오거나 저장하는 메소드 또한 지원한다. 이제 우리는 무작위 배열 하나를 만들어보자. from array impo...
Python - 리스트와 튜플의 메소드(Method for List and Tuple)
파이썬에서 리스트와 튜플이 갖는 메소드는 다양한데, 둘이 동시에 갖는 메소드가 있고, 혹은 리스트만 갖는 메소드도 있다. 모두 알다시피 리스트는 가변형, 튜플은 불변형이기 때문이다. 따라서 융통성 있게 사용하기 위해서는 리스트가 권장된다. 또한 이하에는 매직 메소드가 있을 수도 있다. 더블 언더바, 속칭 던더(Dunder)가 있다면 그것이 되시겠다....
Python - 애스터리스크(Asterisk)
별표라고 많이 부르는 *. 프로그래밍에선 곱연산에 사용되며, 아스타라고도 불린다. C계열 언어에서는 이를 네이밍한 알고리즘인 에이스타 알고리즘도 있지만, 우리는 기본 표기인 에스터리스크로 부르도록 하자. 일단은, 단순히 a와 b에 값을 집어넣어 출력하는 부분부터 복습해보자. def test1(): a = 1 b = 2 print(a, b...
Python - List Comprehension
지능형 리스트라고 번역하면 그나마 알맞을 듯하다. 리스트 축약이라고 쓰시는 분도 있는 것 같은데, 그냥 우리는 리스트 컴프리헨션이라고 쓰자. 사용법은 간단하다. “안녕!” 이 들은 리스트를 3개 만들고 싶다. a = [["안녕!"] for \_ in range(3)] 어? for의 원소에 언더바 하나만 있네? 아무 문제 없다. 저기에 n이 들어...
Python - 시퀀스(sequence)
컨테이너 시퀀스는 서로 다른 자료형을 담을 수 있으며 list, tuple. collecction.deque형이 이에 속한다. 균일 시퀀스는 단 하나의 자료형만 담을 수 있으며 str, bytes, bytearray, memoryview, array.array형이 이에 속한다. 시퀀스형은 가변형에 따라 분류할 수도 있다. 가변 시퀀스에는 list, ...
Python - 매직 메소드 - magic method
전문가를 위한 파이썬(Fluent Python)에 나와있는 분류를 따르면 다음과 같다. 1. 문자열/바이트 표현 2. 숫자로 변환 3. 컬렉션 에뮬레이션 4. 반복 5. 콜러블 에뮬레이션 6. 컨텍스트(context) 관리 7. 객체 생성 및 소멸 8. 속성 관리 9. 속성 디스크립터 10. 클래스 서비스 1...
Python - List의 replace
1. Index 찾기 2. for문 루프 3. 새로운 List 생성 4. map(lambda()) 1. Index 찾기 a = ["a", "b", "c", "d", "e"] a[0] = "z" 결과 ['z', 'b', 'c', 'd', 'e'] a = ["a", "b", "c", "d", "e"] a[-1] = "a" ...
Python - namedtuple로 덱(Deck) 만들기
우리는 일반적으로 플레잉 카드가 들은 덱을 어떻게 만든다고 생각할까? 2부터 A까지 들은 리스트를 만들고, 곱하기 4를 하면 완성될 것이다. 방법 a를 통해 시도해보자. a = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "K", "Q", "A"] \* 4 print(len(a)) 하지만 이것은 ...