[Python] 자료형 - 리스트/튜플 자료형

Programming/PYTHON

[Python] 자료형 - 리스트/튜플 자료형

tnddj1219 2020. 4. 14. 21:37
728x90

리스트(List)란?

자료를 순서대로 저장하는 구조입니다.

리스트를 사용하면 여러 변수를 한 번에 저장할 수 있습니다.

리스트 자료형은 순서도 있고, 중복도 있고, 수정도 가능하고, 삭제도 가능합니다.

 

리스트 만들기

변수에 값을 저장할 때 [ ](대괄호)로 묶어주고, 각 값을 , (콤마)로 구분할 수 있습니다.

리스트(List) 만들기

위와 같은 리스트가 있다고 가정한다면.. A[0]=1이 되고, A[: 2]=[1, 2]가 됩니다.

이런 식으로 원하는 값을 가져오고, 슬라이싱 할 수 있습니다.

 

리스트 연산

리스트 더하기: 리스트끼리 +에 의해 합쳐지게 됩니다.
[ex] A=[1,2,3]이고, B=[4,5,6] 일 때 A+B=[1,2,3,4,5,6]이 됩니다.
리스트 곱하기: 리스트는 *에 의해 반복할 수 있습니다.
[ex] A=[1,2,3]이고 A*2=[1,2,3,1,2,3]이 됩니다.
리스트 길이 구하기: len을 이용하면 구할 수 있다.
[ex] A=[1,2,3,4,5] 일 때, len(A)=5가 된다.

A=[1,2,3]
B=[4,5,6]

##리스트 더하기
print(A+B) # [1,2,3,4,5,6]이 출력된다.

##리스트 곱하기
print(A*2) # [1,2,3,1,2,3]이 출력된다.

##리스트 길이 구하기
print(len([1,2,3,4,5])) # 5가 출력된다.

위의 코드 실행 결과

리스트 수정과 삭제

리스트 값 수정하기: 리스트의 요소값을 수정할 수 있습니다.
[ex] A=[1,2,3]일때 A[2]=4라고 하면 A=[1,2,4]가 됩니다.
리스트 삭제하기: del이란 함수를 이용하여 값을 삭제할 수 있다.
[ex] A=[1,2,4]일때 del A[2]하면  A=[1,2]가 됩니다.

A=[1,2,3]

print("수정 전:",A)
##리스트 값 수정하기
A[2]=4
print("수정 후:",A) # A=[1,2,4]가 된다.

##리스트 값 삭제하기
del A[2]
print("삭제 후:",A) # A=[1,2]가 된다.

위의 코드 실행 결과

리스트 관련 함수들

Append: 리스트에 요소를 추가합니다.
[ex] A=[1,2,3]일 때, A.append(4)하면 A=[1,2,3,4]가 됩니다.
Sort: 리스트를 정렬합니다.
[ex] A=[1,2,4,3]일 때, A.sort()하면 A=[1,2,3,4]가 됩니다.
Reverse: 현재 리스트를 역순으로 뒤집어줍니다.
[ex] A=[1,2,4,3]일 때, A.reverse()하면 A=[3,4,2,1]이 됩니다.
Index: 리스트에 요소의 위치값을 돌려줍니다. 만약 없다면 오류가 발생합니다.
[ex] A=[1,2,3,4]일 때, A.index(3)을 하면 결과로 2가 나옵니다.
Insert: 리스트에 어떤 값을 특정 위치에 삽입합니다.
[ex] A=[1,2,3]일 때, A.insert(0,4)하면 A=[4,1,2,3]이 됩니다.
Remove: 리스트에서 특정 요소를 삭제합니다. (만약 중복된 값이 존재한다면 첫번째 나오는 값을 삭제합니다)
[ex] A=[1,2,4,3,5]일 때, A.remove(4)를 한다면 4가 제거되어 A=[1,2,3,5]가 됩니다.
Pop: 리스트의 맨 마지막 요소를 돌려주고 그 요소를 삭제합니다.
[ex] 만약 A=[1,2,3]이라고 한다면, A.pop()을 하면 A.pop()을 하면 3이 Return 되고, A=[1,2]가 됩니다. [ex] 만약 A=[1,2,3]일 때 A.pop(1)을 하면 2를 Return하고 A=[1,3]이 됩니다.
Count: 리스트 안에 몇개가 있는지 알려주는 함수입니다.
[ex] A=[1,2,3,1,2]일 때, A.count(1)을 하면 2가 Return 됩니다

##리스트 값 추가하기
A=[1,2,3]
print("Append 전:",A)
A.append(4)
print("Append 후:",A) # A=[1,2,3,4]가 됩니다.

##리스트 값 정렬하기
A=[1,2,4,3]
print("Sort 전:",A)
A.sort()
print("Sort 후:",A) # A=[1,2,3,4]가 됩니다.

##리스트에 요소값 위치찾기
A=[1,2,3,4]
print("2의 Index 값:",A.index(3)) # 요소값의 리스트의 위치값인 2를 받아오게 됩니다.

##리스트에 삽입하기
A=[1,2,3]
print("Insert 전:",A)
A.insert(0,4)
print("Insert 후:",A) # A=[4,1,2,3]가 됩니다.

##리스트에서 제거하기
A=[1,2,4,3,5]
print("Remove 전:",A)
A.remove(4)
print("Remove 후:",A) # A=[1,2,3,5]가 됩니다.

##리스트에서 Pop하기
A=[1,2,4,3,5]
print("Pop후 나온 값:",A.pop())
print("Pop후 리스트 A:",A) # A=[1,2,3,5]가 됩니다.

##요소 갯수 세기
A=[1,2,3,1,2]
print("Count한 결과:",A.count(2))# A 안에 1의개수 인 2가 결과로 나옵니다.

##Extend함수 사용하기
A=[1,2,3]
B=[2,3]
print("Extend 전:",A)
A.extend(B)
print("Extend 후:",A)

위의 코드 실행 결과


튜플이란?

튜플은 리스트와 모습은 거의 비슷하고, 역할도 비슷하지만 차이점이 존재한다.

 

튜플 vs 리스트의 차이점

리스트는 []으로 둘러싸지만, 튜플은 ()으로 둘러싸여 집니다.

[ex] 리스트: a=[1,2,3] / 튜플: a=(1,2,3)

리스트는 값을 생성, 삭제, 수정이 가능하지만, 튜플은 값을 바꿀 수 없다.

위의 코드실행결과를 보시다시피 삭제, 수정은 불가능합니다. 

튜플 다루기

인덱싱하기

[ex] t=(1,2,3,4)일 때, t[0]=1이 나옵니다.
슬라이싱하기
[ex] t=(1,2,3,4)일 때, t1=t[1:]이라 하면 t1=(2,3,4)가 나옵니다.
튜플 더하기
[ex] t1=(1,2,3)이고, t2=(4,5,6)일 때 t1+t2=(1,2,3,4,5,6)이 나옵니다.
튜플 곱하기
[ex] t=(1,2,3)일 때, t*2=(1,2,3,1,2,3)이 나옵니다.
튜플 길이 구하기
[ex] t=(1,2,3)일 때, len(t)=3이 나옵니다.

 

 

 

[출처] 점프 투 파이썬

 

728x90