리스트를 만들 때는 대괄호[ ]
로 감싸 주고 각 요솟값은 쉼표,
로 구분해 준다.
a = [1,2,3,4,5]
파이썬에서는 다음과 같이 리스트 요소에 정수가 있는데 문자나 문자열이 함께 있어도 상관없다.
a = [1,2,3,4,5,'a','b','abc']
print(a)
# 결과
[1, 2, 3, 4, 5, 'a', 'b', 'abc']
또한 리스트에 리스트가 들어가도 상관 없다.
a = [1,2,3,4,5,'a','b','abc',[1,2,3]]
print(a)
# 결과
[1, 2, 3, 4, 5, 'a', 'b', 'abc', [1, 2, 3]]
즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.
대괄호[]
안에 그 위치의 인덱스를 써주면 값을 가져온다.
파이썬에서는 숫자를 0부터 세기 때문에 리스트 첫번째 값을 불러올때 [0]
을 해줘야 함을 주의하자!
또한 파이썬에서는 리스트 요소 중 가장 마지막 값을 불러올때 [-1]
을 사용한다.
즉 -
를 써주면 마지막 값부터 거꾸로 인덱싱이 된다고 생각하면 된다
a = [1,2,3,4,5,'a','b','abc',[1,2,3]]
print(a[0]) # 리스트 요소 중 0번째 값을 가져온다
print(a[-1]) # 리스트 요소 중 가장 마지막 값을 가져온다
# 결과
1
[1,2,3]
슬라이싱이란 ‘나눈다’는 뜻이다.
리스트 요소 중 값을 잘라서 가져올때 슬라이싱 기법을 적용한다.
:
(콜론)으로 범위를 지정해줄 수 있다.
# 슬라이싱 (:)
a = [1,2,3,4,5,'a','b','abc',[1,2,3]]
print(a[1:4]) # 1번째부터 4번째까지 값을 잘라서 가져온다
# 결과
[2, 3, 4]
del
)del
함수는 파이썬이 자체적으로 가지고 있는 삭제 함수이다.
del a[x]
는 x
번째 요솟값을 삭제한다.
a = [1,2,3,4,5,'a','b','abc',[1,2,3]]
# del : 리스트 삭제
del a[0] # 리스트 요소 중 0번째 값 삭제
print(a)
# 결과
[2,3,4,5,'a','b','abc',[1,2,3]]
append
).append(x)
는 리스트의 맨 마지막에 x
를 추가하는 함수이다.
a = [1,2,3,4,5,'a','b','abc',[1,2,3]]
# append : 리스트 추가
a.append(1)
print(a)
# 결과
[1, 2, 3, 4, 5, 'a', 'b', 'abc', [1, 2, 3], 1]
sort
)sort
함수는 리스트의 요소를 순서대로 정렬해 준다.
# sort : 리스트 정렬
b = [2,1,4,3,5]
b.sort() # 리스트 요소들을 오름차순으로 정렬
print(b)
# 결과
[1, 2, 3, 4, 5]
reverse
)reverse
함수는 리스트를 역순으로 뒤집어 준다.
이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 그저 현재의 리스트를 그대로 거꾸로 뒤집는다.
# reverse : 리스트 뒤집기
b = [2,1,4,3,5]
b.reverse()
# 결과
[5, 3, 4, 1, 2]
index
)index(x)
함수는 리스트에 x
값이 있으면 x
의 위치 값을 돌려준다.
이때 리스트 안에 같은 값이 있다면 더 먼저 있는 위치를 반환해준다.
# index : 위치 변환
c = [6,2,2,8,4]
c.index(8) # 리스트 요소 중 '8'이 몇번째 위치 했는지 반환
print(c.index(8))
# 결과
3
insert
)insert(a,b)
는 리스트의 a
번째 위치에 b
를 삽입하는 함수이다.
append
와 다른점은 append
는 리스트의 맨 마지막에 추가가 되지만,
insert
는 내가 원하는 위치에 값을 추가할 수 있다는 점이다.
# insert : 리스트 요소 삽입
c = [6,2,2,8,4]
c.insert(2,5) # 2번째 위치에 '5'를 추가
print(c)
# 결과
[6, 2, 5, 2, 8, 4]
remove
)remove(x)
는 리스트에서 첫 번째로 나오는 x
를 삭제하는 함수이다.
# remove : 리스트 요소 제거
d = [6,2,8,2,4]
d.remove(2) # 리스트 요소 중 값이 '2'인 첫번째 요소를 삭제
print(d)
# 결과
[6, 8, 2, 4]
pop
)pop()
은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다.
# pop : 리스트 값 끄집어내기
d = [6,2,8,2,4]
print(d.pop()) # 리스트 요소 중 마지막 값을 끄집어내 삭제
print(d)
# 결과
4
[6, 2, 8, 2]
count
)count(x)
는 리스트 안에 x
가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.
# count : 리스트에 포함된 값 개수세기
d = [6,2,8,2,4]
d.count(2) # 리스트 요소 중 '2'의 개수를 센다
print(d.count(2))
extend
)extend(x)
에서 x
에는 리스트만 올 수 있으며 원래의 d
리스트에 x
리스트를 더하게 된다.
# extend : 리스트 확장
d = [6,2,8,2,4]
d.extend([1,2,3]) # d 리스트 요소에 [1,2,3] 리스트를 더한다
print(d)
# 결과
[6, 2, 8, 2, 4, 1, 2, 3]
join
)''.join(리스트)
는 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 함수이다.
이때 '구분자'.join(리스트)'
를 이용해서 리스트의 값과 값 사이에 구분자를 넣어서 하나의 문자열로 합쳐줄 수 있다.
# ''.join(리스트) : 리스트 요소 합치기
a = ['a','b','c','d']
result1 = '_'.join(a)
result2 = ' '.join(a)
print(result1)
print(result2)
# 결과
a_b_c_d
a b c d
리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다.
- 리스트는 [ ]
으로 둘러싸지만 튜플은 ( )
으로 둘러싼다.
- 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.
# 튜플 자료형
a = (1,2,3,4)
print(a) # 튜플의 모든 값을 가져온다
print(a[0]) # 인덱싱([]) ➡ 0번째 값을 가져온다
print(a[0:2]) # 슬라이싱(:) ➡ 0번째부터 2번째까지 값을 잘라서 가져온다
# 결과
(1, 2, 3, 4)
1
(1, 2)