python的索引与切片
索引(index)是什么?
在字符串、列表和元组中,从最左端起记录的位置叫做索引,索引用数字表示,起始位置从0开始; eg: ['test0', 'test1', 'test2'] 其中'test0'所在的位置就是索引0,'test1'所在的位置就是索引1,'test2'所在的位置就是索引2; 字符串、列表、元组的对打索引是它们的长度-1(len-1); 通过索引查找对应元素: eg: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[6]) 返回结果应为:7
切片是什么?
对相隔一定范围索引内的元素进行访问(查看)叫切片; 切片通过在中括号内把相隔的两个索引包括的元素查找出来,[x: y]左侧包含右侧不包含; eg: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[2: 6]) 返回结果应为:[3, 4, 5, 6]
列表索引获取与修改:
用法: list[index] = new_item ps:数据的修改只能在存在的索引范围内,且无法通过添加新的索引方式进行赋值; eg: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] numbers[3] = 0 print(numbers) 返回结果应为:[1, 2, 3, 0, 5, 6, 7, 8, 9]
列表的内置函数index:
功能:查找元素在列表中的索引; 用法: list.index(item) 参数: item:要查找的元素; eg: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers.index(6)) 返回的结构应为:5
列表的内置函数pop:
功能:通过索引删除并获取列表中的元素; 用法: list.pop(index) 参数: index:要删除列表中的索引置; ps:pop会删除位于指定索引的元素并返回; eg: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] pop_item = numbers.pop(7) print(numbers) print(pop_item) 返回结果应为:[1, 2, 3, 4, 5, 6, 7, 9] 8
列表的内置函数del:
功能:删除索引; 用法: del list[index] ps:del会直接删除位于指定索引的元素无返回值; eg:numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] del numbers[3] print(numbers) 返回结果应为:[1, 2, 3, 5, 6, 7, 8, 9]
索引切片在元组中的特殊性:
1、可以和列表一样获取索引与切片; 2、元组函数index和列表用法一致; 3、元组无法通过索引修改、删除元素;
字符串的索引与获取:
1、字符串的索引规则、切片和索引的获取与列表相同,这里不做赘述;
2、字符串无法通过索引修改、删除;
字符串的内置函数find和index:
功能:获取元素的索引位置; 用法: string.index(item) string.find(item) 参数: item:要查询的元素 eg: number = 'zhangsan' print(number.index('g')) 返回结果应为:4 find函数的使用与index相同,不同点是find如果查找不到结果会返回-1,而index则会直接报错; eg: number = 'zhangsan' print(number.find('L')) 返回结果应为:-1