Python_자료구조_List.part2

최정민·2023년 5월 17일
0

Python data structure

목록 보기
3/5

개요

리스트 아이템 추가,삭제,정렬,슬라이싱

목표

리스트 아이템을 추가하거나 삭제, 정렬,슬라이싱을 통해 리스트 사용 및 응용을 익히자.

list 아이템 추가

  • append()함수와 insert()함수를 이용
  • append()함수는 마지막 인덱스에 아이템을 추가할 수 있다.
student = ['강호동','이수근','은지원','이승기','김종민']
student.append('김준호')
print('student : {}'.fomat(student))
  • insert()함수를 이용하면 특정 위치에 아이템을 추가할 수 있다.
  • 인덱스 번호와 값을 넣어야 된다.
student = ['강호동','이수근','은지원','이승기','김종민']
student.insert(2,'김준호')
print('student : {}'.fomat(student))

list 아이템 삭제

  • pop()함수와 remove()함수를 이용
  • pop()함수를 이용하면 마지막 인덱스에 해당하는 아이템을 삭제 할 수 있다.
  • pop(n) n번째 인덱스에 해당하는 아이템을 삭제할 수 있다.
classList = [40,50,60,30,40]
classList.pop(1)
classList.pop()
print(classList)
#[40,60,30]
  • remove() 함수는 아이템을 선택해서 삭제
  • remove() 함수는 한 개만 삭제가 가능하다.
classList = [40,50,60,30,40]
classList.remove(40)
print(classList)
#[50,60,30,40]
  • del 키워드로 삭제하기
classList = [40,50,60,30,40]
del classList[1]
print(classList)

list 아이템 연결

  • extend()함수를 이용하여 연결
classList = [40,50,60,30,40]
strList = ['홍길동','강호동','유재석','김종국']
classList.extend(strList)
print(classList)
  • +연사자를 사용하여 연결
classList = [40,50,60,30,40]
strList = ['홍길동','강호동','유재석','김종국']


result = classList + strList
print(result)

list 아이템 정렬

  • reverse(), sort() 함수를 이용하여 정렬을 할 수 있다.
  • sort(reverse = True) 내림차순
  • sort(reverse = False) 오름차순 (default)
classList = ['홍길동','강호동','유재석','김종국']

classList.sort(reverse=True)
print('내림차순 :{}'.format(classList))
#내림차순 :['홍길동', '유재석', '김종국', '강호동']
classList.sort(reverse=False)
print('오름차순 :{}'.format(classList))
#오름차순 :['강호동', '김종국', '유재석', '홍길동']
  • reverse()함수는 정렬보다는 순서를 뒤집는 역할 을 한다.
classList = [40,50,60,30,40,'홍길동','강호동','유재석','김종국']

classList.reverse()
print(classList)
#['김종국', '유재석', '강호동', '홍길동', 40, 30, 60, 50, 40]

list 아이템 슬라이싱

  • [M:N]으로 이루어져 있다.
  • M 부터 N까지 M은 포함하며 n-1까지만 지정.
  • 음수를 지정하여 사용 할 수 있다.
classList = ['홍길동','강호동','유재석','김종국','송지효','하하','정준하','전소민','양세찬','양세형']

print('[M:N]이용 하여 출력 : {}'.format(classList[2:6]))
#[M:N]이용 하여 출력 : ['유재석', '김종국', '송지효', '하하']

classList = ['홍길동','강호동','유재석','김종국','송지효','하하','정준하','전소민','양세찬','양세형']
print('음수를 사용하여 범위 지정: {}'.format(classList[-7:-5]))
#음수를 사용하여 범위 지정: ['김종국', '송지효']

인덱스가 2인 유재석부터 인덱스6인 정준하 전까지만 출력하는 것을 확인 가능
음수를 사용하게 되면 -7뒤에서부터 7번째인 김종국부터 -5인 하하전까지인 송지효가 출력된다

  • [M:N:I] M 부터 N까지 I만큼씩 출력.
classList = ['홍길동','강호동','유재석','김종국','송지효','하하','정준하','전소민','양세찬','양세형']

print('[M:N:i]이용 하여 출력 : {}'.format(classList[2::2]))
#[M:N:i]이용 하여 출력 : ['유재석', '송지효', '정준하', '양세찬']

인덱스 2부터 끝까지라는 표시로 [2: :2]지정하고 출력은 인덱스가 2씩 증가된 유재석 송지효 정준하가 양세찬이 출력되는 것을 확인 할 수 있다.

  • 슬라이싱으로 아이템 변경할 수 있다.
classList = ['홍길동','강호동','유재석','김종국','송지효','하하','정준하','전소민','양세찬','양세형']
classList[2:5] = ['Mr.yoo','Mr.Kim','Mrs.song']
print('슬라이싱으로 데이터 변경하기 : {}'.format(classList[1:]))
#슬라이싱으로 데이터 변경하기 : ['강호동', 'Mr.yoo', 'Mr.Kim', 'Mrs.song', '하하', '정준하', '전소민', '양세찬', '양세형']
  • slice()함수를 이용해도 된다.
classList = ['홍길동','강호동','유재석','김종국','송지효','하하','정준하','전소민','양세찬','양세형']
print('slice()함수 이용하기 : {}'.format(classList[slice(2,4)]))
#slice()함수 이용하기 : ['유재석', '김종국']
profile
데이터분석공부중

0개의 댓글