Python, 리스트

sunj - May 13 - - Dev Community
리스트명 = [요소1, 요소2, 요소3, ...]
Enter fullscreen mode Exit fullscreen mode
>>> a = []
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]
>>> f = list() # 비어있는 리스트
Enter fullscreen mode Exit fullscreen mode

인덱싱

>>> a = [1, 2, 3]
>>> a
[1, 2, 3]
Enter fullscreen mode Exit fullscreen mode
>>> a[0]
1
Enter fullscreen mode Exit fullscreen mode
>>> a[0] + a[2]
4
Enter fullscreen mode Exit fullscreen mode

리스트 혼합되어있는 경우 인덱싱

>>> a = [1, 2, 3, ['a', 'b', 'c']]
Enter fullscreen mode Exit fullscreen mode
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']
Enter fullscreen mode Exit fullscreen mode
>>> a[-1][0]
'a'
Enter fullscreen mode Exit fullscreen mode

슬라이싱

>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]
Enter fullscreen mode Exit fullscreen mode
>>> a = [1, 2, 3, 4, 5]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1, 2]
>>> c
[3, 4, 5]
Enter fullscreen mode Exit fullscreen mode

중첩된 리스트에서 슬라이스

>>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
>>> a[2:5]
[3, ['a', 'b', 'c'], 4]
>>> a[3][:2]
['a', 'b']
Enter fullscreen mode Exit fullscreen mode

리스트 더하기

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]
Enter fullscreen mode Exit fullscreen mode
>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
Enter fullscreen mode Exit fullscreen mode

리스트 길이 구하기

>>> a = [1, 2, 3]
>>> len(a)
3
Enter fullscreen mode Exit fullscreen mode

문자 + 숫자는 안된다

>>> a = [1, 2, 3]
>>> a[2] + "hi"

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

>>> str(a[2]) + "hi"
3hi
Enter fullscreen mode Exit fullscreen mode

리스트 수정하기

>>> a = [1, 2, 3]
>>> a[2] = 4
>>> a
[1, 2, 4]
Enter fullscreen mode Exit fullscreen mode

del 함수를 사용해 리스트 요소 삭제하기

>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]
Enter fullscreen mode Exit fullscreen mode

del 함수와 슬라이싱 기법

>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]
Enter fullscreen mode Exit fullscreen mode

리스트에 요소 추가하기 - append
append의 사전적 의미는 ‘덧붙이다, 첨부하다’이다. 이 뜻을 안다면 다음 예가 바로 이해될 것이다. append(x)는 리스트의 맨 마지막에 x를 추가하는 함수이다.

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

리스트 정렬 - sort

>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

리스트 뒤집기 - reverse
reverse 함수는 리스트를 역순으로 뒤집어 준다. 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 현재의 리스트를 그대로 거꾸로 뒤집는다.

>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']
Enter fullscreen mode Exit fullscreen mode

인덱스 반환 - index
index(x) 함수는 리스트에 x 값이 있으면 x의 인덱스 값(위칫값)을 리턴한다. 존재하지 않는 값을 리턴하려 할 때, 오류를 발생시킴

>>> a = [1, 2, 3]
>>> a.index(3)
2
>>> a.index(1)
0
Enter fullscreen mode Exit fullscreen mode

리스트에 요소 삽입 - insert
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다. 파이썬은 숫자를 0부터 센다는 것을 반드시 기억하자.

즉 첫 번째 요소인 a[0] 위치에 값 4를 삽입하라는 뜻이다.

>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]
Enter fullscreen mode Exit fullscreen mode

리스트 요소 제거 - remove
remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다.

>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]
Enter fullscreen mode Exit fullscreen mode

리스트 요소 끄집어 내기 - pop

pop()은 리스트의 맨 마지막 요소를 리턴하고 그 요소는 삭제한다.

>>> a = [1, 2, 3]
>>> a.pop()
3
>>> a
[1, 2]
Enter fullscreen mode Exit fullscreen mode
pop(x)는 리스트의 x번째 요소를 리턴하고 그 요소는 삭제한다.

>>> a = [1, 2, 3]
>>> a.pop(1)
2
>>> a
[1, 3]
Enter fullscreen mode Exit fullscreen mode

리스트에 포함된 요소 x의 개수 세기 - count

>>> a = [1, 2, 3, 1]
>>> a.count(1)
2
Enter fullscreen mode Exit fullscreen mode

리스트 확장 - extend
extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더하게 된다.

>>> a = [1, 2, 3]
>>> a.extend([4, 5])
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]
Enter fullscreen mode Exit fullscreen mode

참조 : https://wikidocs.net/14

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .