파이썬 slice notation(: 쓰는거)좀 알려주세요


notation 쓰면 되게편하다고 하던데 배우기가 어렵네요. 아직 잘 모르겠어서 그런데 예시좀 들어서 설명해주실분?

  • 2016년 01월 05일에 작성됨

조회수 341


1 답변


좋아요
0
싫어요
채택취소하기

slice는 start:stop[:step]의 형식으로 쓸 수있습니다. 여기서 [:step]은 써도 되고 안써도 된다는 의미입니다.

step을 명시하지 않을 경우에는

  1. a[start:end] # start부터 end-1까지의 item
  2. a[start:] # start부터 리스트 끝까지 item
  3. a[:end] # 처음부터 end-1까지의 item
  4. a[:] # 리스트의 모든 item

step value를 쓰는 경우에는

  1. a[start:end:step]# start부터 end-1까지 step만큼 인덱스 증가시키면서

step을 지정할 때 :end에 유의하세요 endend부터 포함시키지 않겠다는 의미이지 end가 꼭 포함된다는 의미는 아닙니다.

startend가 음수가 음수인 경우에는 리스트의 끝에서부터 카운트하겠다는 의미입니다.

  1. a[-1] # 맨 뒤의 item
  2. a[-2:] # 맨 뒤에서부터 item2개
  3. a[:-n] # 맨 뒤의 item n개 빼고 전부

예제를 보여드릴게요

a = [10,11,12,13,14,15,16,17,18,19]

print "a =", a
print "a[0:1]:", a[0:1]
print "a[0:1]:", a[0:10]
print "a[0:1]:", a[0:20]
print "a[0:1]:", a[0:10:2]
print "a[0:1]:", a[:-2]
print "a[0:1]:", a[:-30]

의 결과는

a = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
a[0:1]: [10]
a[0:1]: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
a[0:1]: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
a[0:1]: [10, 12, 14, 16, 18]
a[0:1]: [10, 11, 12, 13, 14, 15, 16, 17]
a[0:1]: []

입니다.

자세한건 여기를 참고해 주세요

  • 2016년 01월 05일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close