python-切片-基础数据类型整理


python-切片-基础数据类型整理


为了方便大家拷贝笔记,本文采用md源码格式

# 切片

>切片的语法表达式为:[start_index:end_index:step]

>切片不会改变原对象,而是重新生成一个新的对象

- start_index:表示起始索引

- end_index:表示结束索引

- step:表示步长,步长不能为0,默认为1

>切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引(也就是顾头不顾尾)的所有元素

# 切片函数(slice)

>使用切片函数实现:slice(start,stop,step)

## 省略start_index,保留end_index

```

#从开始到第(5-1)个索引

C = ['A','B','C','D','E','F']

print(C[:5])

['A', 'B', 'C', 'D', 'E']

```

## 保留start_index,省略end_index

```

#从开始索引到最后一个索引

C = ['A','B','C','D','E','F']

print(C[1:])

['B', 'C', 'D', 'E','F']

```

## 省略start_index、end_index和step

```

#表示切片切整个序列,也就是复制一个新的序列

a=['a','b','c','d','e','f']

print(a[:])

print(a[::])

['a', 'b', 'c', 'd', 'e', 'f']

['a', 'b', 'c', 'd', 'e', 'f']

```

## 省略start_index、end_index,保留step

```

#表示对整个序列,按照步长整除的规则取值

a=['a','b','c','d','e','f']

print(a[::2])

['a', 'c', 'e']

```

## 其他

```

#步长设置为-1,就得到一个反序列

a=['a','b','c','d','e','f']

print(a[::-1])

['f', 'e', 'd', 'c', 'b', 'a']

#只要起始值start_index到结束值end_index在step方向中间有值,就有返回值:

C = ['A','B','C','D','E','F']

# 下面这四种表达式是等价的:

print(C[0:3])

print(C[0:-3]) #等价于C[0:3:1]

print(C[-6:3])

print(C[-6:-3])

['A', 'B', 'C']

['A', 'B', 'C']

['A', 'B', 'C']

['A', 'B', 'C']

#start_index到end_index的方向与步长step的方向

C = ['A','B','C','D','E','F']

0 1 2 3 4 5 正(index)

-6 -5 -4 -3 -2 -1 反(index)


print(C[3:0:1])

print(C[3:0:-1])

print(C[0:3:-1])

print(C[-6:-3:-1])

[]

['D', 'C', 'B']

[]

[]

```


分享到:


相關文章: