python 자료형 집합 / 집합 연산자에 대해서 정리한다
python에서 지원하는 자료형(집합)은 두가지로 나눠볼수 있다
※ 원소값 변경 여부에 따른 자료형 분류
1. 변경 가능한 자료형 ( 원소의 값을 변경할수 있다 )
- List(Array)
( 다른 언어에서 Array라는 배열 자료형이 있다면 python에서는 List가 그와 같은 기능을 한다 )
- Set
( 집합 자료형으로 순서가 없고 중복을 지원하지 않는다는 특징이 있다 )
2. 변경 불가능한 자료형
- Tuple
( List 자료형과 비슷하지만 튜플 안에 원소를 변경할수 없다는 특징이 있다 )
- Dict
※ 집합을 표현하기 위한 자료형
* 10이하의 자연수의 집합
- 수학: { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
- 파이썬
1). 리스트
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
2). 튜플
( 1, 2, 3, 4, 5, 6, 7, 8, 9 )
※ 파이썬에서 사용 가능한 자료형
- int, float, str
- list, tuple, dict, set, ...
※ 집합에서 사용할 수 있는 연산자
( 연산자는 외우기보다 python 공식 홈페이지를 통해 문서를 참조하면 된다 )
1. 공통 연산자 (변경 가능, 변경 불가능 자료형에서 모두 사용 가능)
1). s[i]: 임의의 리스트 s에서 i번째에 해당하는 원소에 접근할때 사용
( 집합내에서 기수 표현은 0부터 시작해서 각 원소에 1:1로 대응된다
예). 5번째 원소 = 5 - 1 = 4
2). slice ( 새로운 리스트를 내어준다 )
* s[i:j] - 임의의 리스트 s에서 원소를 i번째에서 j번째까지를 가져온다 ( j번째는 닫혀있다(포함하지 않는다) )
* s[i:] - 원소를 i번째부터 끝까지 가져온다
* s[:j] - 원소를 처음부터 j번째까지 가져온다
* s[:] - 원소를 처음부터 끝까지 가져온다
3). min, max, len, ...
( 리스트 N과 튜플 N2를 만들어서 실습을 해본 결과 리스트는 [ ](대괄호), 튜플은 ( )(소괄호)로 원소가 묶여있고
리스트는 하나의 원소에 접근하여 값을 변경할 수 있지만 튜플은 불가능하다 )
- str 자료형도 튜플과 같다 ( 원소로 접근 가능하고 원소 변경은 불가능 )
2. 변경 가능한 자료형
1). 특정 원소에 대한 지정문
s[i] = x - 임의의 리스트 s의 i번째 원소에 임의의 원소 x를 대입
2). 리스트에 특정 원소를 추가
* s.extend([x]) or s = s + [x]
- 리스트 s에 특정 원소 [x]를 붙여준다
* s.append(x)
- 리스트 s에 원소 x를 추가해준다
3). 리스트에서 특정 원소를 삽입
* s.insert(i, x)
- 리스트 s에 i번째에 원소 x를 삽입해준다
4). 리스트에서 특정 원소를 삭제
* s.remove(x)
- 리스트 s에서 해당 원소 x값을 찾아서 삭제해준다
5.) 리스트에서 ""안에 있는 특정 구분자를 추가하여 문자열로 변환
* "".join(s)
- 리스트 s에서 ""안에 있는 특정 구분자를 추가해서 문자열로 변환 시켜준다
( 리스트에서만 사용할 수 있는 특정 함수들을 사용해 보았다 )
* extend() 함수는 append() 함수처럼 특정 원소를 추가 해줄수도 있지만 리스트와 리스트를 붙여줄때도 사용할 수 있다
* remove() 함수의 경우 리스트안에 중복값이 있을 경우에는 둘다 지워주는게 아니라 한번에 하나씩 지워준다
- 이외에도 문자열 특정 함수 중에서 split()을 사용하면 문자열을 잘라서 리스트 형태로 반환해주는 함수도 있다
'프로그래밍 > PYTHON' 카테고리의 다른 글
[6일차] python while / if을 통한 검증 (안전한 프로그램) (0) | 2017.02.15 |
---|---|
[5일차] python 논리와 논리 표현식 / 분기문 if (0) | 2017.02.14 |
[3일차] python 일(day)을 초로 환산하는 프로그램 / 주석 (0) | 2017.02.10 |
[3일차] python 변수 / 지정문(동시, 중복) (0) | 2017.02.10 |
[2일차] python 숫자, 문자 표현식 / 연산자 / 형변환 (0) | 2017.02.09 |
댓글