반응형

전체 글 249

[파이썬 기초] 자료구조(2) - 튜플

튜플은 리스트와 비슷한 자료구조이다. 가장 큰 차이는 리스트는 변경이 가능하지만, 리스트는 불변한다는 것이다. 더 풀어서 얘기하면, 리스트는 추가, 수정, 삭제가 가능하지만, 튜플은 한번 정의된 후에는 추가, 수정, 삭제를 할 수 없다. 그래서 튜플을 상수의 리스트라고 얘기하기도 한다. 1. 튜플 생성 튜플을 생성할 때는 변수에 여러개의 값을 콤마로 구분해서 할당하면 된다. 아래와 같이... >>> t_tuple = 'SUN','MON' >>> t_tuple ('SUN', 'MON') >>> type(t_tuple) 튜플의 정의를 더 명확하게 해주기 위해서 괄호를 추가해 주는것이 좋다. >>> t_tuple = ('SUN','MON') 2. 튜플 활용 튜플을 이용해 여러변수에 값을 한번에 할당할 수 있다..

IT 2018.12.04

[파이썬 기초] 자료구조(1) - 리스트

파이썬은 문자열, 정수, 부울, 부동소수점과 같은 기본데이터 타입외에 기본타입들이 결합된 리스트(list), 튜플(tuple), 딕셔너리(dict) 그리고 셋(set)이라는 자료구조를 가지고 있다. 리스트부터 하나씩 살펴보자. 1. 생성 리스트를 생성할 때는 list() 함수와 대괄호([])를 이용해서 다음과 같이 생성할 수 있다. >>> temp_list = list() # list() 함수 사용 >>> type(temp_list) # type() 함수를 사용하면 변수의 타입을 알 수 있다. >>> temp_list2 = [] # [] 대괄호 사용 >>> type(temp_list2) 2. 데이터 입력 append() 함수를 이용해 데이터를 입력하게 되면 그 순서를 그대로 유지하면서, 리스트의 끝에 항..

IT 2018.11.28

[파이썬 기초] 파이썬 문자열(4) - 유용한 문자열 함수들

파이썬에서는 문자열과 관련된 많은 함수들을 지원한다. 대표적인것을 몇개 살펴보도록 하자. 1. 문자열 길이 : len() 문자열의 길이를 알고 싶으면 len()함수를 사용한다. 문자열을 구성하는 문자의 개수를 알 수 있다. 문자열 뿐만 아니라 다른 시퀀스 타입(리스트, 튜플, 딕셔너리)에서도 사용가능하다. 시퀀스에 사용될 경우 각 시퀀스의 항목 개수를 리턴한다. >>> len('dongdongfather') # 문자열을 구성하는 문자 개수 리턴 14 >>> name_list ['Kang Hodong', 'Park Sangmin', 'Kim Yuna'] >>> len(name_list) # 리스트를 구성하는 항목의 개수 리턴 3 >>> len(('a','b','c','d')) # 튜플을 구성하는 항목의 개..

IT 2018.11.26

[파이썬 기초] 파이썬 문자열(3) - 문자열 나누기, 결합하기

파이썬에서 문자열을 리스트로 나누거나, 리스트를 문자열로 결합할 수 있다. 1. 문자열 나누기 : split() split() 메서드는 인자로 주어진 문자를 이용해 문자열을 분리하고, 그 결과를 리스트로 반환한다. 인자가 없이 호출했을 경우에는 줄바꿈, 스페이스, 탭을 사용해서 분리한다. >>> name = 'Kang Hodong,Park Sangmin,Kim Yuna' >>> name.split(',') # 콤마(,)를 인자로 줘서 콤마로 구분된 결과를 리스트로 출력 ['Kang Hodong', 'Park Sangmin', 'Kim Yuna'] >>> name.split() # 인자를 주지 않아서 공백으로 문자 구분. 예상치않은 결과 출력 ['Kang', 'Hodong,Park', 'Sangmin,Ki..

IT 2018.11.23

[파이썬 기초] 파이썬 문자열(2) - 문자열 연산자 및 추출

1. 문자열 결합 : + +(플러스) 연산자를 이용하면 두 문자열을 결합할 수 있다. >>> a = 'abc' >>> b = 'def' >>> a + b 'abcdef' 2. 문자열 복제 : * * 연산자를 이용하면 문자열을 지정한 숫자만큼 복제할 수 있다. >>> a = 'abc' >>> b = 'def' >>> a * 3 # 'abc' 가 세번 반복 'abcabcabc' >>> b * 2 # 'def' 가 두번 반복 'defdef' 3. 문자추출 : [] 문자열에 인덱스를 주면 해당위치의 문자를 추출할 수 있다. >>> letters[0] 'p' >>> letters[3] 'g' >>> letters[7] 'm' 3. 문자열 슬라이스 : [start:end:step] 문자열에 대괄호와 오프셋을 이용하..

IT 2018.11.23

[파이썬 기초] 파이썬 문자열(1) -문자열 생성

문자열은 파이썬에서 아주 중요한 위치를 차지한다. 문자열을 생성하는것 부터 차근차근 살펴보자. 문자열 생성 : 단일인용부호('), 이중인용부호("), 단일인용부호 세개('''), 이중인용부호 세개(""") 로 앞뒤를 감싸준다. >>> 'abc' 'abc' >>> "abc" 'abc' >>> '''abc''' 'abc' >>> """abc""" 'abc' 네개 중 어떤것을 사용해서 만들어도 인터프리터는 같게 인식한다. 출력이 'abc'로 동일하다. 이제 'abc'는 'abc'라는 문자열로 생을 마감할 것이다. 한번 만들어진 문자열은 불변하기 때문이다. 단일인용부호나 이중인용부호 중 하나를 선택하면 될텐데, 왜 둘다 되게 했을까? 그건 문자열 중간에 단일인용부호가 들어가면 이중인용부호로 감싸주고, 반대의 경..

IT 2018.11.23

[파이썬 기초] 스택과 큐의 기능을 한번에 deque

deque는 스택과 큐의 기능을 모두 가진 객체로 출입구를 양쪽에 가지고 있다. 스택처럼써도 되고, 큐처럼 써도 된다. 여러가지 메서드를 이용해서 이런 기능을 구현한다. 먼저 deque를 만들어보자 >>> from collections import deque >>> dq = deque('love') >>> dq deque(['l', 'o', 'v', 'e']) 문자열을 이용해 deque를 만들면 각 문자가 요소로 된 리스트 형태의 deque가 만들어진다. 1. 스택 구현 : append(), pop() 스택은 마지막(오른쪽끝)에서 입출력한다. 입력시에는 append() 메서드를 이용하고, 출력시에는 pop()을 이용한다. >>> dq.append('m') # 오른쪽 끝에 항목추가 >>> dq deque(..

IT 2018.11.23

[파이썬 기초] 순서지정된 딕셔너리 OrderedDict()

파이썬 딕셔너리는 순서를 관리하지 않는다. 내가 a, b, c 순으로 키를 입력했다고해서, 출력 시 a, b, c로 출력되지 않는다는 말이다. 진짜 그런지 딕셔너리를 생성해 보았다. >>> random_dict = dict() >>> random_dict['a'] = 1 >>> random_dict['b'] = 2 >>> random_dict['c'] = 3 >>> random_dict {'a': 1, 'b': 2, 'c': 3} 순서대로 출력된다. 조금만 더 넣어보자. >>> random_dict['pros'] = 4 >>> random_dict['cons'] = 5 >>> random_dict {'a': 1, 'b': 2, 'c': 3, 'pros': 4, 'cons': 5} 계속 순서대로 출력된다...

IT 2018.11.22

[파이썬 기초] Counter를 이용한 항목 계산

파이썬에서 항목의 개수를 셀때 사용하는 클래스로 Counter라는게 있다. 리스트나 셋을 인자로 넘기면 각 항목을 키로 해서 개수를 알려준다. 기본사용법은 이렇다. >>> from collections import Counter >>> letters = 'bbibbi' >>> c = Counter(letters) >>> c Counter({'b': 4, 'i': 2}) 깔끔하지 아니한가? 항목의 수를 세기 위해 키값을 초기화하고, 키가 있으면 1증가시키고, 루프돌고... 그런거 없이 Counter만 쓰면 답이 딱 나온다. 출력순서도 값이 큰것부터 내림차순으로 나온다. >>> Counter('abbcccdddd') Counter({'d': 4, 'c': 3, 'b': 2, 'a': 1}) >>> Count..

IT 2018.11.22

[파이썬 기초] 딕셔너리 값 가져오기 get(), setdefault()

파이썬 딕셔너리에서 키에 해당하는 값을 가져오려고 하면 주로 아래와 같이 사용한다. >>> week_dict = dict() >>> week_dict['Mon'] = '맑음' >>> week_dict['Tue'] = '구름' >>> week_dict['Sun'] = '비' >>> week_dict {'Mon': '맑음', 'Tue': '구름', 'Sun': '비'} >>> >>> weather = week_dict['Sun'] >>> weather '비' week_dict['Sun'] 을 실행하면 'Sun' 키에 대한 값 '비'를 가져온다. 그런데 딕셔너리에 없는 값을 지정하면 어떻게될까? 아래와 같이 예외가 발생한다. >>> week_dict['Fri'] Traceback (most recent cal..

IT 2018.11.21
반응형