index 索引分为正向索引和负向索引,正向索引是从0开始的、负向索引是从-1开始的
str1 = 'asdfghjkl'
print(str1[0]) # 打印的结果为:a
print(str1[3]) # 打印的结果为:f
print(str1[8]) # 打印的结果为:l
# print(str1[9]) # 打印的结果为:索引越界报错 IndexError: string index out of range
print(str1[-1]) # 打印的结果为:l
print(str1[-5]) # 打印的结果为:g
print(str1[-9]) # 打印的结果为:a
# print(str1[-10]) # 打印的结果为:索引越界报错 IndexError: string index out of range
切片 [start_index:end_index:step] ==》[开始索引:结束索引:步长值]
1、包含开始索引、不包含结束索引
2、step如果不写默认值为1、step如果为正数则从左往右取、step如果为负数则从右往左取
3、step为1挨个取、为2隔一个取一个、为3隔俩个取一个
4、开始索引和结束索引如果没有值、则可以是开始也可以是结尾、取决于step步长值为正还是为负
str1 = 'asdfghjkl'
print(str1[2:3]) # 打印结果:d
print(str1[4:8]) # 打印结果:ghjk
print(str1[:4]) # 打印结果:asdf
print(str1[1:8:3]) # 打印结果:sgk
print(str1[-1:-5]) # 打印结果:空
print(str1[-1:-5:-1]) # 打印结果:lkjh
print(str1[2::-1]) # 打印结果:dsa
print(str1[2::1]) # 打印结果:dfghjkl
print(str1[:2:-1]) # 打印结果:lkjhgf
print(str1[:2]) # 打印结果:as
print(str1[-7:-2:-1]) # 打印结果:空
print(str1[-7::-1]) # 打印结果:dsa
print(str1[::]) # 打印结果:asdfghjkl
print(str1[::-1]) # 打印结果:lkjhgfdsa ==》切片当中的反转
二维数组
索引访问方式:
数组名[第一个维度的索引值][第二个维度的索引值]
list2 = ['张三','李四',['张飞', '刘备', '关羽'], ['曹操', '周瑜', '孙权']]
a = list2[2][2]
print(a) # 关羽
list2 = [[1,2,3],[4,5,6], [7,8,9]]
# a = list2[1][1][0:2] 等同于下面
a = list2[1][0:2]
print(a) # [4,5]
list2 = [[1,2,3],[4,5,6], [7,8,9]]
# a = list2[:2][:2] # 等同于下面
a = list2[0:2]
print(a)