본문으로 이동

리스트: 두 판 사이의 차이

Coffee Wiki
Hyunwoo guem (토론 | 기여)
편집 요약 없음
리스트 예시를 노트북 스타일 입력/출력 쌍으로 재구성하고 슬라이싱·remove·pop 결과를 분리해 명확히 제시
 
(사용자 2명의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''리스트가 가진 유용한 메서드(remove)는 리스트에서 특정 위치에 있는 인덱스를 찾아 삭제하는 것으로 알려져 있지만, 실제로는
'''리스트'''(list)는 여러 값(원소)을 담을 수 있는 [[객체]](object)를 뜻한다. 리스트는 대괄호 <code>[</code>, <code>]</code>로 나타낸다. [[메서드]](method)는 특정 객체에 속한 [[함수]](function)로, 리스트에 저장된 데이터를 조작하거나 정보를 얻는 데 사용된다. 리스트의 각 원소는 [[인덱스]](index)로 가리키며, 인덱스는 0부터 시작한다.
위치를 기준으로 인덱스를 찾는 것이 아니라 특정 값을 기준으로 인덱스를 찾는 메서드이다. 위치를 기준으로 인덱스를 삭제하는 메서드는
(pop)이라는 메서드이다. print 밑에 값은 각각 실행결과이다 remove는 2.5의 인덱스가 삭제된 것을 알 수 있고, pop은 0부터 시작해서 두번째
위치에 있는 인덱스인 'data'가 삭제된 것을 알 수 있다


== 인덱스와 슬라이싱 ==
인덱스는 리스트에서 특정 순번의 원소를 가리키는 번호로, 0부터 시작한다. 여러 원소를 한 번에 가리키는 방법을 슬라이싱(slicing)이라 한다.


<syntaxhighlight lang = "python">
=== 슬라이싱 ===
리스트 <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)
print(l)
l
 
</syntaxhighlight>
<syntaxhighlight lang="text">
[1, 'data', [4, 3], 1.0, 1.5, 2]
[1, 'data', [4, 3], 1.0, 1.5, 2]
</syntaxhighlight>
</syntaxhighlight>


<syntaxhighlight lang = "python">
<code>remove(2.5)</code>는 값이 <code>2.5</code>와 같은 원소를 삭제한다.


<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)
print(l)
</syntaxhighlight>
<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(2)</code>는 인덱스 2(0부터 세어 세 번째 원소)인 <code>'data'</code>가 삭제된다.
 
[[분류:프로그래밍과 데이터]]

2026년 6월 15일 (월) 17:19 기준 최신판

리스트(list)는 여러 값(원소)을 담을 수 있는 객체(object)를 뜻한다. 리스트는 대괄호 [, ]로 나타낸다. 메서드(method)는 특정 객체에 속한 함수(function)로, 리스트에 저장된 데이터를 조작하거나 정보를 얻는 데 사용된다. 리스트의 각 원소는 인덱스(index)로 가리키며, 인덱스는 0부터 시작한다.

인덱스와 슬라이싱

인덱스는 리스트에서 특정 순번의 원소를 가리키는 번호로, 0부터 시작한다. 여러 원소를 한 번에 가리키는 방법을 슬라이싱(slicing)이라 한다.

슬라이싱

리스트 l에 대해 인덱스 i의 원소는 l[i], 인덱스 i부터 j-1까지의 원소는 l[i:j], 인덱스 i부터 j-1까지 k 간격의 원소는 l[i:j:k]로 가리킨다.

l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
l[2]
'data'
l[1:4]
[2.5, 'data', [4, 3]]
l[0:7:2]
[1, 'data', 1.0, 2]

메서드

리스트가 가진 유용한 메서드는 다음과 같다.

  • list.append(x): 리스트의 끝에 원소 x를 추가한다.
  • list.insert(i, x): 인덱스 i의 위치에 원소 x를 추가한다.
  • list.extend(s): 리스트의 끝에 객체 s의 모든 원소를 추가한다.
  • list.remove(x): 값이 x와 같은 첫 번째 원소를 삭제한다.
  • list.count(x): 원소 x의 개수를 센다.
  • list.index(x): 원소 x가 처음 나타나는 인덱스를 찾는다.
  • list.pop(i): 인덱스 i의 원소를 삭제한다.

remove와 pop

remove는 값을 기준으로, pop은 인덱스를 기준으로 원소를 삭제한다.

l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
l.remove(2.5)
l
[1, 'data', [4, 3], 1.0, 1.5, 2]

remove(2.5)는 값이 2.5와 같은 원소를 삭제한다.

l = [1, 2.5, 'data', [4, 3], 1.0, 1.5, 2]
l.pop(2)
'data'
l
[1, 2.5, [4, 3], 1.0, 1.5, 2]

pop(2)는 인덱스 2(0부터 세어 세 번째 원소)인 'data'가 삭제된다.