Programming/Python

[Python] 파이썬 리스트(List)에 대해서 알아보자.

빙기때침식곡 2021. 5. 8. 19:12
반응형

이미지 출처 www.python.org

 

이번 시간에는 파이썬 자료구조에 사용되는 리스트에 대해서 알아보도록 하겠다.

 

1. List

 

(1) 선언

 - 리스트는 다음과 같이 선언할 수 있다.

 - 대괄호를 이용해서 선언한다.

 - list()로 선언할 수 있다.

 - 대괄호에 바로 값을 입력해서 선언할 수 있다.

 - 리스트 안에 리스트를 넣을 수 있다.

a = []
b = list()
c = [1, 2, 3, 4]
d = [10, 100, 'Messi', 'Ronaldo', 'Neymar'] 
e = [10, 100, ['Messi', 'Ronaldo', 'Neymar' ]]

 

 

 

 

 

(2) 인덱싱

 - 기본적으로 제로 인덱스(Zero Index)부터 시작한다.

 - 음수 인덱스를 입력하면 역순으로 출력한다. (리스트의 마지막 인덱스 : -1)

 - 리스트 안의 리스트는 대괄호를 한번 더 사용해서 호출할 수 있다.

d = [10, 100, 'Messi', 'Ronaldo', 'Neymar'] 
e = [10, 100, ['Messi', 'Ronaldo', 'Neymar' ]]

print(d[3])
print(d[-2])
print(d[0]+d[1])
print(e[2][1])
print(e[-1][-2])

Result

Ronaldo
Ronaldo
110
Ronaldo
Ronaldo

 

 

 

 

 

(3) 슬라이싱

d = [10, 100, 'Messi', 'Ronaldo', 'Neymar'] 
e = [10, 100, ['Messi', 'Ronaldo', 'Neymar' ]]

print(d[0:2])
print(e[2][1:3])

Result

[10, 100]
['Ronaldo', 'Neymar']

 

 

 

 

(4) 연산

 - 더하기(+) 연산은 리스트를 이어 붙힌다.

 - 곱하기(*) 연산은 곱한 수 만큼 리스트를 이어붙힌다.

c = [1, 2, 3, 4]
d = [10, 100, 'Messi', 'Ronaldo', 'Neymar'] 

print(c + d)
print(c * 3)
print(str(c[0]) + 'st')

Result

[1, 2, 3, 4, 10, 100, 'Messi', 'Ronaldo', 'Neymar']
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
1st

 

 

 

 

 

(5) 리스트 수정, 추가, 삭제

 - 해당하는 인덱스를 호출해서 값을 변경할 수 있다.

 - 슬라이싱을 사용해서 특정범위의 값을 변경할 수 있다.

 - 해당 인덱스에 리스트로 값을 변경할 수 있다.

 - del 키워드를 이용해서 해당 인덱스의 값을 삭제할 수 있다. 

 - 삭제된 인덱스에는 값이 당겨진다.

c = [1, 2, 3, 4]

c[0] = 77
print(c)

c[1:2] = [100, 1000, 10000]
print(c)
c[1] = ['a', 'b', 'c']
print(c)

del c[1]
print(c)
del c[-1]
print(c)

Result

[77, 2, 3, 4]
[77, 100, 1000, 10000, 3, 4]
[77, ['a', 'b', 'c'], 1000, 10000, 3, 4]
[77, 1000, 10000, 3, 4]
[77, 1000, 10000, 3]

 

 

 

 

 

(6) 리스트 함수

 - append(value) : 리스트 끝에 입력한 값을 추가한다.

 - sort(list) : 리스트를 오름차순으로 정렬한다.

 - reverse() : 리스트를 내림차순으로 정렬한다.

 - insert(index, value) : 입력한 인덱스에 값을 삽입한다. 

 - remove(value) : 입력한 값을 제거한다.

 - pop() : 마지막 인덱스의 값을 제거한다.

 - extend(list) : 입력한 list의 값을 뒤에 이어붙힌다.

 - append(list) : 리스트 끝에 입력한 리스트를 추가한다.

y = [5, 2, 3, 1, 4]
print(y)
y.append(6)
print(y)
y.sort()
print(y)
y.reverse()
print(y)
y.insert(2, 7)
print(y)
y.remove(2)
y.remove(7)
print(y)


y.pop()
print(y) # LIFO
ex = [88, 77]
# y.append(ex)
y.extend(ex)
print(y)

y.append(ex)
print(y)

Result

[5, 2, 3, 1, 4]
[5, 2, 3, 1, 4, 6]
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
[6, 5, 7, 4, 3, 2, 1]
[6, 5, 4, 3, 1]
[6, 5, 4, 3]
[6, 5, 4, 3, 88, 77]
[6, 5, 4, 3, 88, 77, [88, 77]]
반응형