python slice 分片(切片)

Python046

python slice 分片(切片),第1张

概念:将序列按段进行切割

语法:slice[(index_start):(index_end):(Step_length)]

#demo

slice = "abcdefg"

print(slice[0,2])  输出结果 "ab" ,步长为空时默认为1,取0~2之间的数字,不包含2,即[0,2)

print(slice[0:6:2])  输出结果 "ace" ,Step_length为2说明每2个2个的取值

print(slice[:]) 输出结果 "abcdefg" 

print(slice[3:]) 输出结果 "defg"

print(slice[:3]) 输出结果 "abc"

print(slice[-5,-2]) 输出结果 "cde" ,当index_start和index_end为负数时,分片切割是从后往前取值(最后一个字符下标为-1)

具体代码如下:

a = [10, 25, 69, 51, 452, 336, 79, 52, 67]

b = [0, 0, 0, 2, 2, 3, 3, 3, 3]

d = {}

for i in b:

d[i] = (d[i] + 1) if d.has_key(i) else 1

p = 0

for i in d.values():

print a[p : (p + i)]

p += i

运行结果: