本文共 1631 字,大约阅读时间需要 5 分钟。
切片是指对操作的对象截取其中一部分的操作。字符串,列表,元祖都支持切片操作
序列[开始位置下标:结束位置下标:步长]
str1 = 'abcdef'print(str1[0:2:1])print(str1[0])print(str1[1])print(str1[2])
输出结果如下:
ababc
打印 str1 下标 从 0到 2的成员,但是 str1[2]不包括
str1 = 'abcdef'print(str1[0:2])print(str1[2])
输出结果如下:
abc
str1 = 'abcdef'print(str1[0:5:2])print(str1[0])print(str1[2])print(str1[4])
输出结果如下:
aceace
str1 = 'abcdef'print(str1[:5])
输出结果如下:
abcde
str1 = 'abcdef'print(str1[5:])
输出结果如下:
f
str1 = 'abcdef'print(str1[:])
输出结果如下:
abcdef
str1 = 'abcdef'print(str1[::-1])
输出结果如下:
fedcba
字符串下标是负数,与原先的字符串的对应关系
str1 = 'abcdef'print('str1[-1]:%c' % str1[-1])print('str1[-2]:%c' % str1[-2])print('str1[-3]:%c' % str1[-3])print('str1[-4]:%c' % str1[-4])print('str1[-5]:%c' % str1[-5])print('str1[-6]:%c' % str1[-6])
输出结果如下:
str1[-1]:fstr1[-2]:estr1[-3]:dstr1[-4]:cstr1[-5]:bstr1[-6]:a
str1 = 'abcdef'print(str1[-4:-1])
输出结果如下:
cde
str1 = 'abcdef'print(str1[4:1:1])
输出结果为空!
开始是 4,结束 是 1, 方向是从右到左, 步长为1 表示选取方向是从左到右,所以选取没有结果!但是我把步长改为-1呢?
str1 = 'abcdef'print(str1[4:1:-1])
输出结果如下:
edc
开始是 4,结束 是 1, 方向是从右到左, 步长为-1 表示选取方向也是从右到左, 即开始是 str1[4] (e) 结束是 str1[1] (b), 但是结束并不包含!即输出结果 是 edc
str1 = 'abcdef'print(str1[-4:-1:-1])
输出结果是空!
开始是 -4,结束 是 -1, 方向是从左到右, 步长为-1 表示选取方向是从右到左,所以选取没有结果!把步长改为 1呢?
str1 = 'abcdef'print(str1[-4:-1:1])
输出结果如下:
cde
开始是 -4,结束 是 -1, 方向是从左到右, 步长为1 表示选取方向也是从左到右, 即开始是 str1[-4] © 结束是 str1[-1] (f), 但是结束并不包含!即输出结果 是 cde
转载地址:http://ieyci.baihongyu.com/