ABOUT ME

  • 리스트(List) > 슬라이싱
    Language/자료구조 2024. 5. 23. 13:21

    리스트 슬라이싱

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

       ex) [2:4] → 2 <= n < 4  (2번인덱스 ~ 3번인덱스)

    students = ['홍길동', '박찬호', '이용규','강호동', '박승철', '김지은']
    print(f'students1 : {students}')
    print(f'students2 : {students[2:4]}')
    print(f'students3 : {students[:4]}')
    print(f'students4 : {students[2:]}')
    print(f'students5 : {students[2:-2]}')
    
    >>>
    students1 : ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
    students2 : ['이용규', '강호동']
    students3 : ['홍길동', '박찬호', '이용규', '강호동']
    students4 : ['이용규', '강호동', '박승철', '김지은']
    students5 : ['이용규', '강호동']

     

    1) 문자열도 슬라이싱 가능

     - 리스트를 슬라이싱 -> 결과 : 리스트

     - 문자열 슬라이싱 -> 결과 : 문자열

    str = 'abcdefghijklmn'
    print(f'str: {str[1:3]}')
    
    >>>
    str: bc

     

    2) 슬라이싱 단계 설정

    : [n:m:숫자] 를 이용하면 슬라이싱할때 단계를 설정할 수 있다.

    students = ['홍길동', '박찬호', '이용규','강호동', '박승철', '김지은']
    print(f'students : {students[::2]}')
    print(f'students : {students[0:5:2]}')
    
    >>>
    students : ['홍길동', '이용규', '박승철']
    students : ['홍길동', '이용규', '박승철']

     

    3) 슬라이싱을 이용한 아이템 변경

    students = ['홍길동', '박찬호', '이용규','강호동', '박승철', '김지은']
    print(f'students : {students}')
    print(f'students : {students[1:4]}')
    
    students[1:4] = ['park chanho','lee yonggyu', 'gang hodong']
    print(f'students : {students}')
    
    >>>
    students : ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
    students : ['박찬호', '이용규', '강호동']
    students : ['홍길동', 'park chanho', 'lee yonggyu', 'gang hodong', '박승철', '김지은']

     

    4) slice() 함수

    students = ['홍길동', '박찬호', '이용규','강호동', '박승철', '김지은']
    print(f'students : {students}')
    print(f'students : {students[slice(1,4)]}')
    print(f'students : {students[slice(1,len(students))]}')
    
    >>>
    students : ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
    students : ['박찬호', '이용규', '강호동']
    students : ['박찬호', '이용규', '강호동', '박승철', '김지은']

     

    'Language > 자료구조' 카테고리의 다른 글

Designed by Tistory.