python

[python] 파이썬 자습서 3. 파이썬의 간략한 소개 part3

브.카 2022. 6. 25. 23:11

※ 공부하는 포스팅으로 틀린 것이나 맞지 않는 표현 있을 수 있습니다. 피드백받습니다!!

 

part2 : https://cow97.tistory.com/43

 

3. 리스트(part3)

파이썬은 다른 값들을 덩어리로 묶는 데 사용되는 여러 가지 컴파운드(compound) 자료형을 알고 있습니다. 가장 융통성이 있는 것은 리스트입니다. 대괄호 사이에 쉼표로 구분된 값(항목)들의 목록으로 표현될 수 있습니다. 리스트는 서로 다른 형의 항목들을 포함할 수 있지만, 항목들이 모두 같은 형인 경우가 많습니다.

 

< list 예시 >

 

< list 인덱싱, 슬라이싱 >

 

리스트는 문자열(그리고, 다른 모든 내장 시퀀스 형들)처럼 인덱싱하고 슬라이싱할 수 있습니다.

 

< [:] 시 결과 >

 

모든 슬라이스 연산은 요청한 항목들을 포함하는 새 리스트를 돌려줍니다. 이는 위와 같은 슬라이스가 리스트의 새로운 얕은 복사본을 돌려준다는 뜻이다.

 

< list 이어붙이기 >

 

리스트는 이어붙이기 연산도 지원한다. 처음 [ 1, 4, 9, 16, 25 ]에 [ 36, 49, 64, 81, 100 ] 이 더해져서 출력되는 것을 확인할 수 있다. 

 

< 리스트 값 변경 >

 

리스트는 불변(immutable)인 문자열과 다르게 가변(mutable) 이여서 리스트 내 원소들의 내용을 변경할 수 있다.

 

< append 이용법 >

 

리스트에서 append() 매서드(method)를 이용하면 리스트의 끝에 새 항목을 추가할 수 있다. 이는 나중에 더 자세히 알아본다. -> 파이썬 자습서의 뒷부분에 리스트 핸들링 관련 매서드들이 소개될 것이다.

 

< 리스트 handling >

 

뿐만 아니라 리스트는 슬라이스를 통해 값을 대입하는 것이 가능하다. letters[2:5] = ['C', 'D', 'E']을 통해서 알 수 있듯이 원하는 슬라이스에 해당하는 부분의 값 전체를 변경할 수 있다. 또한 모든 항목을 삭제하는 것도 가능하다.

 

< 리스트 길이 확인 len() 이용 >

 

내장 함수 len()은 리스트에도 적용되며 리스트의 길이를 확인하고 싶거나 길이를 이용해야 할 때는 len() 함수를 이용하면 된다.

 

< 리스트 중첩 >

 

리스트는 중첩할 수도 있다. 이는 다른 리스트를 포함하는 리스트를 만드는 것을 의미하며 형태로만 보면 이중 배열 문과 동일하다. 중첩된 리스트 [['a', 'b', 'c'], [1, 2, 3]] 에서 x[0] 이면 ['a', 'b', 'c']을 출력하는 것을 확인할 수 있고 x[0][1] 이면 x[0]값 안의 index 1인 'b'를 출력하는 것을 확인할 수 있다.

 

 

※ compound data type

- 1. 복합 데이터 유형은 여러 내장 데이터가 의미 있는 방식으로 함께 그룹화되는 데이터 유형

 

- 2. 여러 개의 값을 하나의 타입으로 그룹화한 타입

 

- 3. 자료형 및 형태가 다양한 여러 가지 항목들을 특정한 목적에 따라 하나의 덩어리로 묶어놓은 것, 각종 변수 또는 배열 등과 같은 다양한 종류의 아이템들을 모아 놓은 일종의 혼합형 집합체?;;

-> 아직 이해하지는 못했다...

 

 

※ copy - 얕은 복사와 깊은 복사 연산

- 얕은 복사는 새로운 복합 객체를 만들고, (가능한 범위까지) 원본 객체를 가리키는 참조를 새로운 복합 객체에 삽입합니다. (복사 리스트 = 원본 리스트[ : ]는 얕은 복사에 해당한다.)

- 깊은 복사는 새로운 복합 객체를 만들고, 재귀적으로 원복 객체의 사본을 새로 만든 복합 객체에 삽입합니다.

-> 추가적인 코드 예시와 공부 필요!

 

 

Reference