-배열과 같이 여러개의 데이터를 나열한 자료구조. 리스트(List)와 비슷하지만 아이템 추가, 변경, 삭제가 불가하다.
-‘()’를 이용해서 선언하고, 데이터 구분은 ‘,’를 이용한다. (튜플 선언 시 괄효 생략이 가능하다.)
이때 숫자, 문자(열), 논리형 뿐 아니라 또 다른 컨테이너 자료형 데이터를 저장할 수 있다.
-튜플도 리스트와 마찬가지로 아이템에 자동으로 부여되는 인덱스가 있다.
(인덱스란, 아이템에 자동으로 부여되는 번호표로 가장 앞자리부터 순서대로 0부터 시작하여 부여된다.)
-리스트 길이 : 리스트에 저장된 아이템 개수를 뜻한다.
len()을 이용하면 리스트 길이를 알 수 있다.
-튜플 아이템 참조
for i in range(len(datas)):
print('i: {}'.format(i))
for data in datas:
print(data)
n=0
while n < len(datas):
print(datas[n])
n += 1
n=0
flag=True
while flag:
print(cars[n])
n +=1
if n == len(datas):
flag = False
n=0
while True:
print(datas[n]):
n+=1
if n == len(datas)
break
-in, not in 키워드를 이용하면 아이템의 존재 유/무를 알 수 있다.
ex) searchName = input('학생 이름 입력: ')
if searchName in studentsTuple:
print('{}학생은 우리반 학생입니다.'.format(searchName))
-리스와 튜플을 자료형 변환이 가능하다.
ex) datas = tuple(datas), nums = list(nums)
-튜플 정렬
튜플은 수정이 불가하기 때문에 리스트로 변환 후 정렬
list로 자료형 변환 → sort() /sort(reverse=True):정렬 → tuple로 자료형 변환
sorted()함수를 이용하면 튜플도 정렬할 수 있지만 자료형으로 반환된다.
-두 개의 튜플을 결합할 순 있지만 extend()함수는 사용 불가
-리스트 슬라이싱
[n:m]을 이용하면 리스트에서 원하는 아이템만 뽑아낼 수 있다. 문자열도 가능하다.
ex)[2:4] →인덱스 2<=n<4에 해당하는 아이템을 뽑아낼 수 있다.
-슬라이싱 단계 설정
[n:-z] : index n부터 마지막 z개 제외한 위치까지 슬라이싱
[n:-m:z] : index n부터 마지막 z개 제외한 위치를 m간격으로 슬라이싱
[:-m:z] : 처음부터(index 0) 마지막 z개 제외한 위치를 m간격으로 슬라이싱
[::m] : 전체 리스트를 m간격으로 슬라이싱
-슬라이싱을 이용한 아이템 변경
튜플은 슬라이싱을 이용해서 아이템을 변경할 수 없다.
리스트에 튜플 아이템으로 변경 가능
-slice() 함수를 이용해서 아이템을 슬라이싱 할 수 있다.
ex) print('students: {}'.format(students[slice(n:m)]))