语法: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
运行结果: