[Python] 기초 #5-자료형(리스트, 튜플)

정보구니·2021년 11월 17일
0

Python

목록 보기
5/18
post-thumbnail

리스트 자료형


리스트 만들기

리스트를 만들 때는 대괄호[ ]로 감싸 주고 각 요솟값은 쉼표,로 구분해 준다.

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]



리스트에 포함된 요소 x의 개수 세기 (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)





🔎 참고
https://wikidocs.net/15

0개의 댓글