Python核心编程06-----列表 切片 常用操作 修改列表 列表的方法 遍历列表
目录
1. 序列(sequence)
1.1 基本概念
1.2 序列的分类
2. 列表(list)
2.1 列表的使用
2.2 切片
3.通用操作
4.修改列表
5.列表的方法
6.遍历列表
6.1for循环
6.2range(开始,结束,步长)函数
1. 序列(sequence)
1.1 基本概念
- 序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引
- 数据结构指计算机中数据存储的方式
1.2 序列的分类
- 可变序列(序列中的元素可以改变):例如 列表(list)字典(dict)
- 不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)
2. 列表(list)
- 列表是Python中的list对象
- 列表的作用
- 列表中可以保存多个有序的数据
- 列表是用来存储对象的对象
- 列表可以存放任意的对象
lst = ['python',1,True,None,[2,3,3]]
print(lst)
输出:['python', 1, True, None, [2, 3, 3]]
2.1 列表的使用
- 列表的创建:通过[]来创建一个空列表 [ ]
- 在列表中可以通过索引(index)或者下标来获取列表中的元素
- 索引是从0开始 列表的第一个位置索引是0,以此类推
lst = [0,154,47,8,9,6,4,6,2]
print(lst[2])
输出:47
2.2 切片
- 切片是指从现有列表中获得一个子列表
- 做切片操作时总会返回一个新列表,不会影响原有列表
- 通过切片来获取指定的元素
- 语法: 列表[起始 : 结束 : 步长]
- 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
- 起始位置和结束位置的索引可以不写
- 如果省略结束位置, 则会从当前的开始位置一直截取到最后
- 如果省略开始位置, 则会从第一个元素截取到结束的元素,但是不包括结束的元素
- 如果开始位置和结束位置都省略, 则则会从第一个元素开始截取到最后一个元素
- 步长表示每次获取元素的间隔,默认是1(可以省略不写)
- 步长不能是0,但可以是负数
3.通用操作
- +和*
- "+"可以将2个列表拼接成一个列表
lst = [1,2,3]+[4,5,6]
print(lst)
输出:[1,2,3,4,5,6]
- "*"可以将列表重复指定的次数
lst = [1,2,3]*2
print(lst)
输出:[1,2,3,1,2,3]
- in和not in
- in用来检查指定元素是否存在于列表中
hero = ['钢铁侠','葫芦娃','黑寡妇','美国队长']
print('路巨人'in hero)
输出:False
- not in 用来检查指定元素是否不在列表中
hero = ['钢铁侠','葫芦娃','黑寡妇','美国队长']
print('路巨人'not in hero)
输出:True
- min()最大值
- max()最小值
- index() 获取指定元素在列表中的位置
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长','蜘蛛侠']
print(hero.index('钢铁侠'))
输出:0
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长','蜘蛛侠']
print(hero.index('蜘蛛侠',3))
输出:6
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长','蜘蛛侠']
print(hero.index('蜘蛛侠',3,7))
输出:6
3,7为指定区间
- count()指定元素在列表中出现的次数
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长','蜘蛛侠']
print(hero.count('蜘蛛侠'))
输出:2
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长','蜘蛛侠']
print(hero.count('zaaaacki'))
输出:0
- 字符串中通用
a = 'zaaaacki'
print(a.count('a'))输出:4
4.修改列表
- 通过索引来修改列表的值
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长']
print('修改前',hero)
输出:修改前 ['钢铁侠', '葫芦娃', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']hero[0] = '雷神'
print('修改后',hero)
输出:修改后 ['雷神', '葫芦娃', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']
- 通过del修改(删除)元素
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长']
del hero[2]
print(hero)
输出:['钢铁侠', '葫芦娃', '黑寡妇', '蚁人', '美国队长']
- 通过切片修改,[x:y]的意思就是把索引位置在X到Y(不包括Y)的元素去掉,
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长']hero[0:3] = 'abcd'
print(hero)
输出:['a', 'b', 'c', 'd', '黑寡妇', '蚁人', '美国队长']hero[0:3] = 123
print(hero)
输出:报错 TypeError: can only assign an iterablehero[0:2] = ['黑豹','雷神','灭霸']
print(hero)
输出:['黑豹', '雷神', '灭霸', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']hero[0:0] = ['黑豹','雷神','灭霸']#向索引为0的位置插入元素
print(hero)
输出:['黑豹', '雷神', '灭霸', '钢铁侠', '葫芦娃', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']hero[1:1] = ['黑豹','雷神','灭霸']#向索引为1的位置插入元素
print(hero)
输出:['黑豹', '雷神', '灭霸', '钢铁侠', '葫芦娃', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']hero[::2] = ['黑豹','雷神','灭霸']
print(hero)
输出:['黑豹', '葫芦娃', '雷神', '黑寡妇', '灭霸', '美国队长']hero[::2] = ['黑豹']设置步长时
print(hero)
输出:报错:ValueError: attempt to assign sequence of size 1 to extended slice of size 3
5.列表的方法
- s.append()向列表的最后添加一个元素
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长']
hero.append('灭霸')
print(hero)
输出:['钢铁侠', '葫芦娃', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长', '灭霸']
- s.insert() 向列表中指定的位置插入一个元素,有两个参数,第一个参数:要插入的位置;第二个参数:要插入的元素
hero = ['钢铁侠','葫芦娃','蜘蛛侠','黑寡妇','蚁人','美国队长']
hero.insert(2,'灭霸')
print(hero)
输出:['钢铁侠', '葫芦娃', '灭霸', '蜘蛛侠', '黑寡妇', '蚁人', '美国队长']
- extend()使用新的序列来扩展当前序列
hero = ['钢铁侠','葫芦娃','蜘蛛侠']
hero.extend(['绿巨人','灭霸'])
print(hero)
输出:['钢铁侠', '葫芦娃', '蜘蛛侠', '绿巨人', '灭霸']
- s += [x,y,z]
hero = ['钢铁侠','葫芦娃','蜘蛛侠']
hero += ['绿巨人','灭霸']
print(hero)
输出:['钢铁侠', '葫芦娃', '蜘蛛侠', '绿巨人', '灭霸']
- s.clear() 清空列表
hero = ['钢铁侠','葫芦娃','蜘蛛侠']
hero.clear()
print(hero)
输出:[]
- s.pop() 根据索引删除并返回指定元素
hero = ['钢铁侠','葫芦娃','蜘蛛侠']hero.pop(2)#删除索引是2的元素
print(hero)
输出:['钢铁侠', '葫芦娃']r = hero.pop(1)#返回指定元素
print(r)
输出:葫芦娃r =hero.pop()#不指定元素,默认删除最后一个元素并返回最后一个元素
print(hero) 输出:['钢铁侠', '葫芦娃']
print(r) 输出:蜘蛛侠
- s.remove() 删除指定值的元素
hero = ['绿巨人','钢铁侠','葫芦娃','蜘蛛侠','绿巨人']
hero.remove('绿巨人')#如果有重复的元素,只能删除第一个
print(hero)
输出:['钢铁侠', '葫芦娃', '蜘蛛侠', '绿巨人']
- s.reverse() 用来反转列表
hero = ['绿巨人','钢铁侠','葫芦娃','蜘蛛侠']
hero.reverse()#反转列表
print(hero)
输出:['蜘蛛侠', '葫芦娃', '钢铁侠', '绿巨人']
- s.sort() 用来对列表中的元素进行排序,可传递参数reverse = True/False
lst = list('aasdjkasoid')
print('修改前:',lst)
输出:修改前: ['a', 'a', 's', 'd', 'j', 'k', 'a', 's', 'o', 'i', 'd']
lst.sort()#默认升序,由小到大
print('修改后:',lst)
输出:修改后: ['a', 'a', 'a', 'd', 'd', 'i', 'j', 'k', 'o', 's', 's']
lst.sort(reverse=True)#传递参数变为降序,有大到小
print('传参数:',lst)
输出:传参数: ['s', 's', 'o', 'k', 'j', 'i', 'd', 'd', 'a', 'a', 'a']
6.遍历列表
6.1for循环
- for循环的代码块会执行多次,序列中有几个元素就会执行几次
- 每执行一次,就会将序列中的元素赋值给变量
语法 :
for 变量 in 序列(遍历的规则):
代码块
hero = ['绿巨人','钢铁侠','葫芦娃','蜘蛛侠']for i in hero:#列表中有几个元素,就会循环几次print(i)
输出:
绿巨人
钢铁侠
葫芦娃
蜘蛛侠
6.2range(开始,结束,步长)函数
- 开始:开始默认从0开始,例如range(5)等价于range(0,5)0可以省略
- 结束:结束不包括结束,例如range(0,5)是【0,1,2,3,4】
- 步长:默认为1,可以省略,例如range(0,5,1)等价于 range(0,5)
lst = [1,2,3,4,5,6,7,8,9]
for i in range(0,9,2):print(lst[i])
输出:13579
Python核心编程06-----列表 切片 常用操作 修改列表 列表的方法 遍历列表相关推荐
- AI领域的Python核心编程【学生免费】
<Python程序设计>这门课是AI领域的Python核心编程课,我们设立的目标是希望通过这门课提升你的代码能力,助力你成为合格的算法工程师. 截止目前已经有3000+同学免费参加了本课程 ...
- python核心编程--笔记(不定时跟新)(转)
的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找python路径 1.4 –v ...
- 《Python核心编程(第3版)》——1.3 正则表达式和Python语言
本节书摘来自异步社区<Python核心编程(第3版)>一书中的第1章,第1.3节,作者[美] Wesley Chun(卫斯理 春),孙波翔 李斌 李晗 译,更多章节内容可以访问云栖社区&q ...
- Python核心编程朱红庆_朱红庆作品_朱红庆简介_朱红庆作品大全-当当网
用200多个实训案例和4个综合应用,帮助初中级用户掌握Python使用方法,以便能尽快上手Python核心编程,应对工作上的需求. / 2020-01-01 本书是针对零基础编程学习者的 Python ...
- python数据处理常用函数_Python中常用操作字符串的函数与方法总结
Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...
- 《Python核心编程(第3版)》学习笔记及书评
<Python核心编程(第3版)>学习笔记 文章目录 <Python核心编程(第3版)>学习笔记 写在前面 1. 正则表达式 1.1 常用语法 1.2 re模块 2. 网络编程 ...
- Python 核心编程(三)
Python 核心编程 第三章 正则表达式 在开发中会有大量的字符串处理工作,其中经常会涉及到字符串格式的校验. 思考1 场景:如何判断一个字符串是手机号呢? 测试文件 aesdf1381 ...
- 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...
- Python基础-python核心编程
1.列表.元组和字典 列表: 表示方法:[ ] 元素的个数及元素的值可以改变 列表的切片运算:可以得到子集 元组: 表示方法:() 不可更改,可以看成只读的列表 字典:python中的映射数据类型 ...
最新文章
- 前后端分离的探索(四)
- Python诞生30年,《流畅的Python》作者要来中国了
- 如何识别AWARD的BIOS-ID
- java 银行系统_JAVA之银行系统1
- win10安装mysql zip_win10 安装mysql zip 压缩包版
- 5点促进软件外包转型升级
- OpenCASCADE:OCCT CSharp 示例
- kali linux 网络渗透测试学习笔记(三)社会工程学之Java攻击:钓鱼网站制作
- 华为社招面试(拿到offer)
- 收藏!立体库设备维修保养计划
- python 计算list中平均值_python里的list求平均值
- keil MDK cannot access target,shutting down debug session的解决办法
- 测试岗面试,一份好的简历总可以让人眼前一亮
- work bench 建表时PK/NN/ UQ等的含义
- web前端面试题完美整理/涵盖html,CSS、JS、浏览器、Vue、React、移动web。
- bat批处理命令以管理员权限执行powershell命令
- RCTF babyre xxtea
- 美国亚马逊最新要求ASTM F2641 电动滑板车、自平衡踏板车UL2272认证办理流程
- Magento获取当前页面URL地址
- 利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法