티스토리 뷰

python

python Slice

swanB 2016. 9. 4. 21:22


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에 유의하세요 end는 end부터 포함시키지 않겠다는 의미이지 end가 꼭 포함된다는 의미는 아닙니다.

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

  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]: []

출처는 

http://hashcode.co.kr/questions/74/%ED%8C%8C%EC%9D%B4%EC%8D%AC-slice-notation-%EC%93%B0%EB%8A%94%EA%B1%B0%EC%A2%80-%EC%95%8C%EB%A0%A4%EC%A3%BC%EC%84%B8%EC%9A%94

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 29 30 31
글 보관함