본문 바로가기
Edu/01. Language: Python

튜플vs리스트

by Lacuna028 2021. 5. 28.

* 학습 내용

- tuple: ( )

- list: [ ]

 

1. 튜플: ( )

서로 다른 종류의 데이터 타입으로 이루어진 항목들을 변수에 바로 풀어서 할당하거나 색인을 매기는 용도

값이 변경되지 않음

 

1) 패킹(packing)

여러 개(여러 타입)의 데이터를 하나의 튜플에 할당하는 것

ex) book = '어린왕자', 2000, True

 

2) 언패킹(unpacking)

항목별로 각각 풀어서 변수에 저장하는 개념(왼쪽값을 오른쪽에 할당)

ex) name, pulish_year, pages, publisher = book

 

 

 

2. 리스트: [ ]

동일한 자료 타입으로 이루어진 항목들을 리스트 내에서 순차적으로 사용하거나 가공하는 용도

튜플과 달리 값 변경 가능

 

1) 리스트 끝에 값 추가: append()

리스트명.append(값)

 

2) 리스트의 특정값을 제거 : remove()

리스트명.remove(값)

 

3) 리스트 특정 위치에 값 추가 : insert()

리스트명.insert(인덱스번호, 값)

 

4) 리스트 특정 위치의 값 빼기: pop()

리스트명.pop(인덱스번호)

인덱스번호가 없을 경우 리스트 맨 마지막 값이 제거됨

 

5) 리스트값 정렬: sort(), sorted()

5.1) sort(): sort()함수는 원본을 변형시킴

리스트명.sort()
리스트명.sort(reverse=True)

인수(옵션값)가 없으면 오름 차순으로 정렬

인수(옵션값)이 reverse=True이면 내림 차순으로 정렬

sort()함수는 원본을 변형시킴

 

 

5.2) sorted()함수는 원본 변형 없음

# 오름차순으로 정렬
sorted(리스트명)
# 내림차순으로 정렬
sorted(리스트명, reverse=True)

 

6) 리스트 항목 모두 지우기: clear()

리스트명.clear()

 

7) 리스트 자르기(slicing): 

 리스트명[<시작색인>:<끝색인>]

ex)

lst[0:3]

lst[ :3]

lst[2: ]

lst[ : ]

lst[ :-1]

 

cf) 리스트를 활용시 참고 사항.

리스트를 생성하고 해당 리스트를 다시 다른 변수에 할당한 후 복제한 리스트에 새로운 값을 append()할 경우 

원본 리스트에도 같은 영향을 미쳐 원본이 훼손된다. 이 경우 리스트 slicing을 활용하면 원본을 훼손하지 않고 복제 리스트에 값을 추가할 수 있다.

ex)

 

 

이 경우 리스트 slicing을 사용하여 원본을 훼손하지 않고 리스트 복사, 값 추가를 해보자

 

ex)

 

 

8) 리스트 합치기 : +

리스트명 + 리스트명

 

9) 리스트 확장: extend()

리스트명.extend(덧붙일리스트명)

+ : 더하고 나서도 원본 훼손이 없음, 리스트 확장

extend : 더하고 나서 원본에 반영, 리스트 확장

append : 요소로 반영. 리스트 확장이 아니라 하나의 요소로 리스트가 추가됨. 즉 중첩 리스트가 됨.

 

10) 리스트 부분 삭제: del()

del 삭제대상리스트[항목]
del 삭제대상리스트[범위 : 범위]

 

11) 빈 리스트 만들기 : 

리스트명 = []
변수명 = list()

 

'Edu > 01. Language: Python' 카테고리의 다른 글

map()함수: iteral 자료형 형변환  (0) 2021.08.23
소스코드재사용: 함수, 클래스, 모듈, 패키지  (0) 2021.05.30
세트/딕셔너리  (0) 2021.05.30
반복문  (0) 2021.05.28
함수/변수  (0) 2021.05.28