Data/Python
[Python] chapter 05. 컬렉션으로 데이터 모으고 정리하기 _시퀀스(리스트, 튜플, 문자열)
bce_xopowo
2022. 10. 1. 10:25
컬렉션 : 데이터 모으고 정리하기
-데이터의 양이 많고, 집합의 성격을 갖는 데이터는 '컬렉션'을 활용해야 한다.
(도서관에서 책에 기준에 따라 분류하고 번호를 붙이는 것과 같음)
ex) 연락처(이름, 전화번호)
*컬렉션
- 시퀀스
- 매핑
- 집합
시퀀스
-데이터에 순서를 붙여 나열한 것
-파이썬은 리스트, 튜플, 레인지, 문자열 등 여러가지 시퀀스 컬렉션을 제공
1. 리스트
- [ ] 대괄호를 활용하여 표현
- 수정이 가능한 시퀀스
*리스트 시퀀스에서 많이 활용되는 메서드
-소개되는 메서드는 수정하는 메서드임, 그러므로 튜플 등 불변 시퀀스에서 적용이 불가
-extend() 대신 += 으로 연산해도 됨.
[실무] 리스트로 연락처 관리하기
-위치찾는 연산이 '0'을 찾는 것이 아니라, 0위치에 있는 요소를 찾아오는 것 이라는 점.
2. 튜플
- () 괄호를 활용하여 표현하고,다양한 데이터를 담을 수 있고 리스트와 비슷
- 내용을 변경할 수 없는 시퀀스.
- 리스트와 비슷하게 대부분의 연산을 활용가능하다 (※시퀀스를 []가 아닌, ()로 해야한다는 점 기억하자)
- 수정을 하는 연산은 불가 ex) remove, 요소 대입 등 불가
- 이어붙이는 연산은 가능하다
3. 레인지
- 수열의 범위가 넓은 요소를 입력해야 하는 경우 실수할 위험과 불편이 있다.
- 이 경우 레인지를 활용하면 등차수열을 간단하게 표현할 수 있다
- range 만으로 그 요소를 출력할 수 없으며 list나 turple을 활용해야 출력이 된다.
- 즉, range자체는 데이터를 가지고 있지 않다는 것이기에 요소 수정은 불가하다
- 요소를 수정하고 싶다면, list로 변환 후 수정하면 된다.
4. 문자열
- 개별 문자만을 요소로 가진다.
- 시퀀스 연산은 가능하지만, 불변 데이터이기에 수정은 불가하다.
- 문자열은 리스트나 튜플로 변환할 수 있다
*join 매서드
시퀀스 연산
-리스트 시퀀스로 연습을 했으나,
리스트, 튜플, 레인지, 문자열 등 모든 시퀀스에 해당하는 연산이다.
- 소속 검사하기 (in, not in)
- 길이세기 (len())
- 연결과 반복 (+,*)
- 인덱싱 : 특정 위치 가리키기 (함수[ ])
- 슬라이싱
함수[2:6] | 2위치에서 6위치까지 |
함수[:3] | 3위치 미만 |
함수[5:] | 5위치 이상 |
함수[:] | 전체 범위 모두 |
- 간격을 지정하여 슬라이싱하기
-[::-1] : 뒤에서부터 지정하기
- 범위 지정하여 수정하기
- 시퀀스 복제
시퀀스 복제 | 사본 변경시 원본 변경 안됨 |
대입 | 사본 변경시 원본 변경 |
-복제와 대입은 전혀 다른 개념이니 유념하기!