본문 바로가기

Programming/Python

[Python] 자료형을 이용한 자료관리

반응형

1. 시퀀스(Sequences)

 파이썬의 Sequences 자료형

  - 문자열, 수치 등을 관리하는 기본 자료형

  - String, Tuples, Lists 등의 종류가 있음

 

 특징

  - 문자열, 수치 등을 나열해서 관리하는 배열 형식을 가짐

  - 인덱싱(indexing)을 이용하여 저장된 자료의 위치를 참조해서 활용

  - 특정 구간의 자료를 리턴할 수 있는 슬라이싱 기능을 가짐

  - 자료를 연결하거나 반복할 수 있는 +, * 연산자를 이용함

  - 인(in) 키워드를 이용하여 어떤 값이 시퀀스 자료에 속해 있는지 확인함

 

 문자열 인덱싱

  - 문자열은 각 한 문자씩을 인덱스를 가지고 0부터 나열형으로 관리

  - 역순으로는 -(음수) 값을 가진 인덱스로 매핑됨

  - 호출은 문자 변수[인덱스]로 호출하면 값을 리턴함

 

mystring을 인덱스로 잡아서 출력하는 슬라이싱 결과

 

 문자열 슬라이싱

  - [인덱스 시작:인덱스 끝:스텝]을 명시하게 되면 범위에 맞는 값을 값을 잘라서 리턴

  - 단계를 지정하는 스텝 기능까지 보유

 

문자열의 슬라이싱

 STEP

  - 원하는 스텝은 숫자를 지정해서 스코프 연산자 뒤에 지정하여 []로 감싸서 사용 

 

 

 문자열의 반복과 합치기

  - 문자열은 +,*를 이용하여 문자열 합치기, 반복되는 횟수를 각각 지정함

 

 

 문자열의 함수

  - String의 함수들은 모두 문자열 혹은 문자열 변수에 바로 이어서 점(.)을 찍은 다음 호출하여 사용

 

 

 문자열 함수 종류

  - format() : 변수의 내용을 표시하기 위한 포맷팅을 수행한다.

  - lower(), casefold() : 대문자를 소문자로 바꾼다.

  - upper() : 소문자를 대문자로 바꾼다.

  - swapcase() : 대문자는 소문자로, 소문자는 대문자로 바꾼다.

  - title() : 모든 단어의 첫 문자만 대문자로 나머지는 소문자로 바꾼다.

  - capitalize() : 문자열의 첫 글자만 대문자로 나머지는 소문자로 바꾼다.

  - islower() : 모든 문자가 소문자이면 True 반환

  - isupper() : 모든 문자가 대문자이면 True 반환

  - count(str) : str이 포함된 개수를 센다.

  - find(str) : str의 첫 위치를 알아낸다. (없다면 -1 반환)

  - index(str) : str의 첫 위치를 알아낸다. (없다면 예외 발생)

  - replace(str1, str2) : 원 물자열 안의 str1을 str2로 바꾼다.

  - split() : 공백문자 기준으로 나누어서 리스트에 저장한다.

  - split(sep) : sep(문자열)을 기준으로 나누어서 리스트에 저장한다.

2. Tuples

 Tuples란?

  - 숫자와 문자를 함께 관리하는 자료형

  - 값의 시퀀스이며 지정된 값을 변경할 수 없음

 

 인덱스

  - ()안에 혼합형 자료형을 콤마(,)로 구분해서 값을 대입하여 사용

  - 0부터 인덱스로 관리됨

  - 호출할 때는 [인덱스]로 사용

  - 콘론(:)을 이용해서 인덱스의 범위를 지정하여 사용

 

빈 튜플 - tuple을 리턴함

 

혼합협 튜플 - 자료를 정수 문자열 숫자를 연이어서 저장

 

nested 튜플 - 튜플 안에 또 튜플로 관리되며 이차열 배열 형식을 취한 것처럼관리 [행][열] 인덱싱으로 관리

 

 슬라이싱

  - 슬라이스 연산자는 요소들의 일부를 석택하여 리턴

  - 형식은 String과 동일하게 사용

 

 병합과 반복

  - +,*를 이용하여 문자열 합치기, 반복되는 횟수를 각각 지정 가능

  - (1,2,3)+(4,5,6)를 지정하게 되면 (1,2,3,4,5,6)이 되어 리턴

  - (1,2,3)*3을 지정하면 (1,2,3)이 3번 반복되어 리턴

 

 

 Tupel의 함수

  - my.index(x) : 목록 my에서 x를 찾아서 그 위치를 리턴

  - my.count(x) : 목록 my에서 x가 몇 개 있는지를 리턴

3. 리스트(list)

 리스트란?

  - 파이썬 시퀀스 구현 중 많이 사용되는 자료형

  - 인덱스, 슬라이싱, 매트릭스, 병합 및 반복연산자, 함수를 이용

  - 대관로([])로 나열된 여러 개의 데이터를 감싸서 저장 및 관리

  - Tuple은 고정된 리스트, 자료 수정이 불가 하지만 list는 자료의 수정이 자유로움

 

 리스트의 인덱싱

  - 대괄호[] 안에 혼합형 자료형의 콤아(,)로 구분해서 값을 대입하여 사용

  - 0부터 인덱스로 관리

  - 호출할 때는 [인덱스]로 사용

  - 콜론을 이용하여 인덱스의 범위를 지정해서 사용 

 

빈 리스트

 

매트릭스 리스트

 

 리스트 슬라이싱

  - 대괄호[] 안에 [인덱스시작:익덱스끝:스텝] 순서로 저장

 

 

 리스트 연산자

  - + : List와 List를 더해서 하나의 리스트로 만들 때 사용

  - *  : 원소를 반복할 때 사용

 

 

 리스트 함수 종류

  - cmp(list1, list2) : list를 비교해서 리턴

  - len(list) : 리스트의 크기(원소의 개수)를 리턴

  - max(list) : 리스트에서 가장 큰 값을 리턴

  - list.append(obj): list에 obj을 추가

  - list.count(obj) : list에 obj의 개수를 리턴

  - list.extend(seq) : list에seq를 추가

  - list.index(obj) : obj의 색인 값을 리턴

  - list.insert(index,obj) : index색인 위치에 obj를 삽입

  - list.pop(obj=list-1) : list의 마지막에 있는 원소를 리턴

  - list.remove(obj) : list에서 obj를 제거

  - list.reverse() : list를 역순으로 재배치

  - list.sort(f) : list를 정렬

3. Dictionary & List

 딕셔너리(Dictionary)

  - 자료를 대입할 때 {} 안에 콤마로 값을 입력

  - key:value의 형태로 선언하는 구조를 가져 비정형 데이터를 매핑할 때 유용하게 사용

  - 정렬되지 않은 키 값의 쌍

  - 딕셔너리에 새로운 key 값을 입력할 때 반드시 key 값에 해당하는 value도 함께 입력

  - value의 값은 변경이 가능하지만 key 값은 변경할 수 없음

  - key를 호출하면 value를 리턴하는 구조를 가짐

 

 딕셔너리의 선언과 출력

  - 딕셔너리는 반드시 문자열만 사용하지 않아도 됨

  - 정수 타입, boolean 타입, 임의의 객체 타입, 딕셔너리 형식도 사용 가능

  - 다양한 타입을 동시에 섰어서 사용하는 것이 가능

 

 

 딕셔너리의 수정

  - 딕셔너리의 key는 그 안에 유일한 값

  - 이미 존재하는 key에 value를 할당하면 새로운 key-value 쌍을 언제든지 추가 가능

 

 

 딕셔너리의 주요 함수

  - keys() : key들을 모아놓은 리스트를 리턴

  - values() : value들을 모아놓은 리스트를 리턴

  - items() : 쌍의 터플를 모아놓은 리스트를 리턴

  - clear() :  모든 내용을 삭제

  - get(key) : 지정된 key의 value를 반환

  - has_key(key) : 해당하는 key가 있는지 조사하여 참, 거짓으로 반환

Set

 set이란?

  - 파이썬에서 {}안에 저장된 자료를 집합연산을 통해 자료를 추출하고 싶을때 사용하는 자료형

  - 중복되지 않는 요소들의 모임을 가진 집합으로 임의의 순서를 가짐

  - 공집합은 {}가 아닌 set() g함수로 생성({}는 딕셔너리)

  - 선언은 set()의 ()안에 자료를 넣거나 tupel은 ()안에 list[]로 데이터를 입력

  - 집합 연산인 차집합, 교집합, 합집합, 대칭차집합(symmetric difference) 연산을 지원

 

 

 Set의 함수

  - s.union(t) : s와 t의 합집함(s|t)

  - s.intersection(t) : s와 t의 교집합(s&t)

  - s.difference(t) : s와 t의 차집합(s-t)

  - s.symmetric_difference(t) : s와 t의 배타집합(s^t)

  - s.copy() : s를 얕은 복사

  - s.update(t) : s와 t의 합집합을 s에 저장(s|=t)

  - s.intersection_update(t) : s.intersection_update(t)

  - s.difference_update(t) : s와 t의 차집합을 s에 저장(s-=t)

  - s.symmetric_difference_update(t) : s와 t의 배차집찹을 s에 저장(s^=t)

  - s.add(x) : 원소 x를 s에 추가

  - s.remove(x) : 원소 x를 s에서 제거, 없으면 KeyError 예외 발생

  - s.discard(x) : 원소 x가 있다면 s에서 제거

  - s.pop() : s에서 임의의 원소를 하나 리턴하고 집합에서는 제거, 빈 집합이면 Key Error 예외 발생

  - s.clear() : 집합 s의 모든 원속 삭제

반응형

'Programming > Python' 카테고리의 다른 글

[Python] 기본자료형과 연산자  (0) 2022.01.15
[Python] 파이썬(Python) 개요 & 설치  (1) 2022.01.13