PYTHON/공부

시퀀스 자료 구조

GaeGim 2022. 7. 25. 17:22
반응형
  • 시퀀스

연속적으로 이어진 자료형을 시퀀스 자료형이라고 한다

list, tuple, range, str, bytes. bytearray 자료형이 해당된다

 

 

 

· 시퀀스 자료형의 공통 기능

시퀀스 자료형으로 만든 객체를 시퀀스 객체, 시퀀스 객체에 들어있는 각각의 값을 요소라고 한다

 

-특정 값이 있는지 확인

값 in 시퀀스

//없는 지 확인
값 not in 시퀀스

※ 몇 번째에 있는 지는 알 수 없음

 

 

-시퀀스 객체 연결

시퀀스 객체1 + 시퀀스 객체2

※ 단, range는 +연산자로 객체를 연결이 불가하다. range를 튜플이나 리스트로 만들어 연결하면 된다.

 

 

※ 문자열에 정수 연결하면 이것이 불가능해 에러가 난다.

따라서 str을 사용해 숫자를 문자열로 변환해야 한다.

'문자열'+str(정수)
'문자열'+str(실수)

 

- 시퀀스 객체 반복

* 연산자로 특정 횟수만큼 반복해 새 시퀀스 객체를 만듦(0, 음수를 곱하면 빈 객체가 나오며 실수는 곱할 수 없음).

시퀀스 객체 * 정수
정수 * 시퀀스 객체

※ range는 * 연산자를 사용해 반복 불가 -> range를 튜플/리스트로 만들어 반복

 

 

 

· 시퀀스 객체 요소 개수 구하기

요소의 개수는 길이로도 볼 수 있다. len() 함수로 사용해 알 수 있다.

len(시퀀스 객체)

 

- range의 숫자 생성 개수 구하기

len(range(시작, 끝, 증가폭))

길이 : (끝 - 시작)/증가폭

 

 

 

· 인덱스 사용

인덱스 : 시퀀스 객체의 각 요소에 정해져 있는 순서

시퀀스 객체에 대괄호([])를 붙이고 대괄호 안에 각 요소의 인덱스를 지정하면 해당 요소에 접근 가능

인덱스는 항상 0부터 시작하고 요소 길이에서 1 뺀만큼 존재한다

 

 

※ __getitem__ 메서드

시퀀스 객체에서 요소를 가져올 수 있다

시퀀스 객체.__gettitem__(인덱스)

 

-음수 인덱스 지정

음수 인덱스를 지정하면 뒤에서부터 요소에 접근한다 -> 마지막 요소 접근

음수 인덱스로 한 번 쓱 다 훑고 또 접근은 불가하다.

-1 + -(요소 갯수) -> 접근 불가

 

 

-요소 값 할당

시퀀스 객체[인덱스] = 값

 

-del로 요소 삭제

del 시퀀스객체[인덱스]

 

 

 

· 슬라이스 사용

시퀀스 객체 일부 잘라낸다

시퀀스객체[시작인덱스:끝인덱스]
시퀀스객체[시작인덱스:끝인덱스:증가폭]

끝인덱스는 가져오려는 번위를 포함하지 않기 때문에 실제 가져오려는 값보다 하나 더 크게 지정해 준다

 

 

-인덱스 생략하기

주로 마지막 일부분만 출력 시 사용

시퀀스객체[시작인덱스:]	//시작인덱스~끝까지 출력
시퀀스객체[:끝인덱스]    //처음~끝인덱스-1까지 출력
시퀀스객체[:]	        //전체 출력

 

 

-인덱스 생략하고 증가폭 사용

시퀀스객체[:끝인덱스:증가폭]	//처음부터
시퀀스객체[시작인덱스::증가폭]	//마지막까지
시퀀스객체[::증가폭]		//처음부터 끝까지
시퀀스객체[::]			//전체 출력
시퀀스[::-1]			//거꾸로 출력

 

 

-슬라이스에 요소 할당

시퀀스객체[시작인덱스:끝인덱스] = 시퀀스객체
시퀀스객체[시작인덱스:끝인덱스:증가폭] = 시퀀스객체

//ex)
>>>a = [0, 1, 2, 3, 4]
>>>a[1:3] =['x', 'y', 'z']
>>>a
[0, x, y, z, 4]

 

 

-del로 슬라이스 삭제하기

del 시퀀스객체[시작인덱스:끝인덱스]

원래 있던 리스트가 변경되는 것으로, 새 리스트 생성되는 것 아니다

 

 

 

반응형

'PYTHON > 공부' 카테고리의 다른 글

if 조건문  (0) 2022.07.25
딕셔너리  (0) 2022.07.25
자료구조  (0) 2022.07.25
연산자  (0) 2022.07.25
실행(계산, 출력)  (0) 2022.07.25