리스트: 두 판 사이의 차이
Hyunwoo guem (토론 | 기여) 편집 요약 없음 |
리스트 예시를 노트북 스타일 입력/출력 쌍으로 재구성하고 슬라이싱·remove·pop 결과를 분리해 명확히 제시 |
||
| (사용자 2명의 중간 판 5개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
리스트(list)는 여러 값(원소)을 담을 수 있는 객체(object)를 뜻한다. | '''리스트'''(list)는 여러 값(원소)을 담을 수 있는 [[객체]](object)를 뜻한다. 리스트는 대괄호 <code>[</code>, <code>]</code>로 나타낸다. [[메서드]](method)는 특정 객체에 속한 [[함수]](function)로, 리스트에 저장된 데이터를 조작하거나 정보를 얻는 데 사용된다. 리스트의 각 원소는 [[인덱스]](index)로 가리키며, 인덱스는 0부터 시작한다. | ||
== 인덱스와 슬라이싱 == | |||
인덱스는 리스트에서 특정 순번의 원소를 가리키는 번호로, 0부터 시작한다. 여러 원소를 한 번에 가리키는 방법을 슬라이싱(slicing)이라 한다. | |||
<syntaxhighlight lang = "python" line> | === 슬라이싱 === | ||
리스트 <code>l</code>에 대해 인덱스 <code>i</code>의 원소는 <code>l[i]</code>, 인덱스 <code>i</code>부터 <code>j-1</code>까지의 원소는 <code>l[i:j]</code>, 인덱스 <code>i</code>부터 <code>j-1</code>까지 <code>k</code> 간격의 원소는 <code>l[i:j:k]</code>로 가리킨다. | |||
<syntaxhighlight lang="python" line> | |||
l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2] | |||
l[2] | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
'data' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="python" line start="3"> | |||
l[1:4] | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
[2.5, 'data', [4, 3]] | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="python" line start="4"> | |||
l[0:7:2] | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
[1, 'data', 1.0, 2] | |||
</syntaxhighlight> | |||
== 메서드 == | |||
리스트가 가진 유용한 메서드는 다음과 같다. | |||
* <code>list.append(x)</code>: 리스트의 끝에 원소 <code>x</code>를 추가한다. | |||
* <code>list.insert(i, x)</code>: 인덱스 <code>i</code>의 위치에 원소 <code>x</code>를 추가한다. | |||
* <code>list.extend(s)</code>: 리스트의 끝에 객체 <code>s</code>의 모든 원소를 추가한다. | |||
* <code>list.remove(x)</code>: 값이 <code>x</code>와 같은 첫 번째 원소를 삭제한다. | |||
* <code>list.count(x)</code>: 원소 <code>x</code>의 개수를 센다. | |||
* <code>list.index(x)</code>: 원소 <code>x</code>가 처음 나타나는 인덱스를 찾는다. | |||
* <code>list.pop(i)</code>: 인덱스 <code>i</code>의 원소를 삭제한다. | |||
=== remove와 pop === | |||
<code>remove</code>는 값을 기준으로, <code>pop</code>은 인덱스를 기준으로 원소를 삭제한다. | |||
<syntaxhighlight lang="python" line start="5"> | |||
l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2] | l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2] | ||
l.remove(2.5) | l.remove(2.5) | ||
l | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang = "text"> | <syntaxhighlight lang="text"> | ||
[1, 'data', [4, 3], 1.0, 1.5, 2] | [1, 'data', [4, 3], 1.0, 1.5, 2] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code>remove</code>는 2. | <code>remove(2.5)</code>는 값이 <code>2.5</code>와 같은 원소를 삭제한다. | ||
<syntaxhighlight lang = "python" line> | <syntaxhighlight lang="python" line start="8"> | ||
l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2] | l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2] | ||
l.pop(2) | l.pop(2) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang = "text"> | <syntaxhighlight lang="text"> | ||
'data' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="python" line start="10"> | |||
l | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
[1, 2.5, [4, 3], 1.0, 1.5, 2] | [1, 2.5, [4, 3], 1.0, 1.5, 2] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code>pop</code> | <code>pop(2)</code>는 인덱스 2(0부터 세어 세 번째 원소)인 <code>'data'</code>가 삭제된다. | ||
[[분류:프로그래밍과 데이터]] | |||