문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Python/문법 (문단 편집) === 리스트(List), 튜플(Tuple) === 파이썬의 리스트는 말 그대로 순서대로 저장하는 시퀀스이자 변경 가능한 목록(Mutable List)을 말한다. 입력 순서가 유지되며, 내부적으로는 동적 배열로 구현되어 있다. ||<#fff>[[파일:3-7-2.png|width=400]]|| 타 언어의 [[배열]]처럼 파이썬도 array라는 배열에 해당하는 모듈을 제공하긴 하지만 기본적인 기능만을 제공하며, 사실상 리스트가 배열의 역할을 대체한다. 파이썬의 리스트는 다른 언어에서 제공하지 않는 매우 다양하고 편리한 기능을 제공한다. 리스트를 사용하면 사실상 [[스택(자료구조)]]을 사용할지 [[큐(자료구조)]]를 사용할지를 고민하지 않아도 되며, 스택과 큐에서 사용 가능한 모든 연산을 동시에 제공한다. 리스트는 객체로 되어 있는 모든 자료형을 다음 그림과 같이 포인터로 연결하는 구조로 되어 있다. ||<#fff>[[파일:2-5-2.png|width=400]]|| 파이썬은 모든 것이 객체며, 파이썬의 리스트는 이들 객체에 대한 포인터 목록을 관리하는 형태로 구현되어 있다. 사실상 연결 리스트에 대한 포인터 목록을 배열 형태로 관리하고 있으며, 그 덕분에 파이썬의 리스트는 배열과 연결리스트를 모두 합친 듯이 강력한 기능과 문법을 제공한다. 리스트는 객체가 수정 가능하지만, 튜플은 최초 생성 이후 수정이 불가능하다. {{{list()}}}와 {{{tuple()}}} 함수를 통해 서로 형 변환이 가능하다. 고차원 리스트도 가능하다. <예시> {{{#!syntax python l = [1, 2, 3] #일차원 리스트 t = tuple(l) #튜플로 변환 li = list(t) #리스트로 변환 l = [[1, 2, 3], [1, 2, 3]] #이차원 리스트 }}} 리스트와 튜플의 값을 참조할 때에는 {{{변수명[숫자]}}}의 형태로 입력한다. 아래는 각각 일차원 리스트, 이차원 리스트, 튜플의 값을 출력하는 코드이다. {{{#!syntax python li_one = [1, 2, 3] # 일차원 리스트 li_two = [[1, 2, 3], [4, 5, 6]] # 이차원 리스트 tu = (7, 8) # 튜플 print(li_one[0], li_two[0][1], tu[1]) # 1 2 8 }}} 이때, {{{#!syntax python print(li_one[0], li_two[0][1], tu[1])}}} 부분을 {{{#!syntax python print(li_one[3], li_two[2][1], tu[2])}}}와 같이 작성하면 리스트, 튜플에 없는 원소를 참조하기 때문에 오류가 발생한다. {{{Traceback (most recent call last): File "[파일명]", line 1, in IndexError: list index out of range}}}저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기