Python 编程 | 连载 09 - 列表、元组和字符串切片
Python,编程,连载,09,列表,元组,字符串,切片
2025-03-13 21:27:22 时间
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情。
一、列表、元组和字符串切片
列表的索引与切片
字符串、元组和列表中从最左边记录的位置就是索引,索引用数字表示,从0开始
索引从0开始,所以最大索引为长度-1
索引是用来对单个元素进行访问,切片则是对一定反问的元素进行访问,切片通过冒号在中括号内把相隔的两个索引查找出来,切片的规则为左含右不含
nums = [1, 2, 3, 4, 5, 6, 7]
print('nums列表的最大索引是:{}'.format(len(nums) - 1))
print('索引4位置的元素是:{}'.format(nums[4]))
print('获取完整的nums列表:',nums[:])
print('第二种方法获取完整列表:',nums[0:])
print('获取除最后一个元素外的列表:', nums[:-1])
切片起始索引默认是0,并包含索引0的元素
nums = [1, 2, 3, 4, 5, 6, 7]
new_entire_nums = nums[:]
print('原列表的id:', id(nums))
print('新列表的id:', id(new_entire_nums))
切片获取的列表id与原列表不同,切片会生成一个新的列表
nums = [1, 2, 3, 4, 5, 6, 7]
print(nums[-3:-1])
print(nums[-7:-1])
print(nums[-7:6])
列表中索引从右往左是从-1开始,依次为-2、-3.....
使用[]进行切片除了传入两个索引外,还可以传入第三个值既步长,步长默认为1,也就是从左往右依次的获取,如果索引为负数,就是从右往左按照步长的长度获取
nums = [1, 2, 3, 4, 5, 6, 7]
print(nums[-3:-1])
print(nums[-7:-1:3])
print(nums[-7:6:2])
print(nums[6:-7:-2])
列表索引的获取
列表中可以通过list[index]=new_item来修改元素,数据的修改只能在存在的索引范围内,列表无法通过添加新的索引的方式赋值。
index函数可以获取元素在列表中的索引
heros = ['stark', 'peter', 'banner', 'thor', 'loki']
idx_01 = heros.index('banner')
print('banner在列表中的索引是:', idx_01)
idx_02 = heros.index('wanda')
print('wanda在列表中的索引是:', idx_02)
查找的元素在列表中不存在时会报错
# 索引修改元素
heros = ['stark', 'peter', 'banner', 'thor', 'loki']
heros[2] = 'wanda'
print(heros)
heros[-1] = 'clint'
print(heros)
# 切片方式修改
heros[1:3] = 'hulk', 'wonder woman'
print(heros)
heros[1:3:2] = ['Captain']
print(heros)
元组切片
- 元组可以和列表一样通过索引获取元素和进行切片操作
- 元组的index函数和列表的index函数用法完全一致
- 元组无法通过索引修改和删除元素,因为元组是不可变数据类型
heros_tuple = ('stark', 'peter', 'banner', 'thor', 'loki')
peter = heros_tuple[1]
print('索引位置为1的元素是:',peter)
new_heros = heros_tuple[:]
new_heros_01 = heros_tuple[0:]
new_herso_02 = heros_tuple[:-1]
new_heros_03 = heros_tuple[::2]
new_heros_04 = heros_tuple[::-2]
print(new_heros)
print(new_heros_01)
print(new_herso_02)
print(new_heros_03)
print(new_heros_04)
字符串的索引与切片
字符串的索引规则与列表的索引规则一致
- 切片和索引的获取与列表相同
- 无法通过索引修改与删除元素
- 字符串不可修改
find函数也可以获取字符在字符串中索引的位置,index函数也可以获取字符在字符串中索引的位置,当元素不存在时find函数返回-1,index函数则会报错
info = '上海昨日新增无症状5298例'
index_01 = info.index('上海')
print(index_01)
index_02 = info.index('昨日')
print(index_02)
find_01 = info.find('5298')
print(find_01)
find_02 = info.find('背景')
print(find_02)
index_03 = info.index('背景')
print(index_03)
相关文章
- Python 编程 | 连载 14 - Python 的函数
- pycharm怎么配置python环境anaconda_ug编程电脑配置要求
- Python 编程 | 连载 15 - Python 的类
- Python 编程 | 连载 26 - Python 多线程
- Python 编程 | 连载 12 - Python 数据类型转换
- Python 编程 | 连载 03 - 布尔、列表和元组类型
- Python 编程 | 连载 10 - 字典及操作
- 常用Python库_编程代码大全
- Python Flask 编程 | 连载 07 - Jinja2 语法
- Python 编程 | 连载 13 - Python 的流程控制
- Python 编程 | 连载 09 - 列表、元组和字符串切片
- Python 编程 | 连载 23 - 常用函数与高阶函数
- Python Flask 编程 | 连载 02 - Flask 路由
- Python 编程 | 连载 16 - 类的特性
- Python 编程 | 连载 20 - 文件 I/O
- Python 编程 | 连载 02 - 数字与字符串
- Python 编程骚操作连载(二)- 类与对象
- Python Flask 编程 | 连载 03 - Flask 请求
- Python升级之路( Lv14 ) 并发编程初识
- Python基础21-网络编程