프로그래밍 언어/Python
튜플 슬라이싱[n:m](파이썬)
ruby-jieun
2023. 1. 23. 01:58
튜플 슬라이싱[n:m]
리스트와 마찬가지로 [n:m]을 이용하면 리스트에서 원하는 아이템만 뽑아낼 수 있다.

슬라이싱할 때 단계를 설정할 수 있다.
numbers = (2, 50, 0.12, 1, 9, 7, 17, 35, 100, 3.14)
print('numbers: {}'.format(numbers[2:-2]))
print('numbers: {}'.format(numbers[2:-2:2]))
print('numbers: {}'.format(numbers[:-2:2]))
print('numbers: {}'.format(numbers[::2]))
numbers: (0.12, 1, 9, 7, 17, 35)
numbers: (0.12, 9, 17)
numbers: (2, 0.12, 9, 17)
numbers: (2, 0.12, 9, 17, 100)
튜플은 슬라이싱을 이용해서 아이템을 변경할 수 없다.
students = ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
print('students : {}'.format(students))
students[1:4] = ['kim jieun', 'lee yonggyu', 'gang hodong']
print('students : {}'.format(students))
students : ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
students : ['홍길동', 'kim jieun', 'lee yonggyu', 'gang hodong', '박승철', '김지은']
students = ('홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은')
print('students : {}'.format(students))
students[1:4] = ['kim jieun', 'lee yonggyu', 'gang hodong']
print('students : {}'.format(students))
TypeError: 'tuple' object does not support item assignment
slice()함수를 이용해서 아이템을 슬라이싱할 수 있다
students = ('홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은')
print('students : {}'.format(students))
print('students : {}'.format(students[slice(2, 4)]))
print('students : {}'.format(students[slice(4)]))
print('students : {}'.format(students[slice(2, len(students))]))
print('students : {}'.format(students[slice(2, len(students)-2)]))
print('students : {}'.format(students[slice(len(students)-5, len(students)-2)]))
students : ('홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은')
students : ('이용규', '강호동')
students : ('홍길동', '박찬호', '이용규', '강호동')
students : ('이용규', '강호동', '박승철', '김지은')
students : ('이용규', '강호동')
students : ('박찬호', '이용규', '강호동')