Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

리스트 슬라이싱[n:m](파이썬) 본문

프로그래밍 언어/Python

리스트 슬라이싱[n:m](파이썬)

ruby-jieun 2023. 1. 23. 00:29

 

 

리스트 슬라이싱[n:m]


 

 

 

[n:m]을 이용하면 리스트에서 원하는 아이템만 뽑아낼 수 있다.

 

 

 

 

[n:m]을 이용하면 문자열도 슬라이싱이 가능하다.

str = 'abcdefghijklmnopqrstuvwxyz'
print('str length: {}'.format(len(str)))
print('str: {}, str length: {}'.format(str, len(str)))
print('str: {}, str length: {}'.format(str[2:4], len(str)))
print('str: {}, str length: {}'.format(str[:4], len(str)))
print('str: {}, str length: {}'.format(str[2:], len(str)))
print('str: {}, str length: {}'.format(str[2:-2], len(str)))
print('str: {}, str length: {}'.format(str[-5:-2], len(str)))
str length: 26
str: abcdefghijklmnopqrstuvwxyz, str length: 26
str: cd, str length: 26
str: abcd, str length: 26
str: cdefghijklmnopqrstuvwxyz, str length: 26
str: cdefghijklmnopqrstuvwx, str length: 26
str: vwx, str length: 26

 

 

 

슬라이싱할 때 단계를 설정할 수 있다.

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', '박승철', '김지은']

 

 

 

 

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 : ['박찬호', '이용규', '강호동']

 

Comments