python教程从基础到精通,第5课—List列表
off999 2024-12-20 17:57 53 浏览 0 评论
python教程从基础到精通,第5课—List列表
Hello,小伙伴们,又见面啦!
上一章节咱们已学习了七大数据类型的Number(数字)、Boolean(布尔类型)、String(字符串),今天咱们来研究进一步学习List(列表)。
1、List(列表)的定义
List的定义方法有很多种,下面以实例来讲,代码如下:
list1 = [] # 创建一个空列表,list1=list(),显示为[]
list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list3 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list4 = list("abcdefg") # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list5 = ["abcdefg"] # 只有一个字符串元素
list6 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list7 = [1, 2, "hello", 'world'] # 4个元素,前2个为数字,后2个为字符串
是不是很简单,确实。但是如果要创建一个很多的列表呢?有没有更加便捷、高效的定义方法?当然有,我们可以在列表中使用推导式的方法来创建列表,示例代码如下:
lista = [] * 10 # []
listb = [1] * 10 # [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
listc = [[] for i in range(10)] # [[], [], [], [], [], [], [], [], [], []]
listd = [i for i in range(1, 10)] # [1, 2, 3, 4, 5, 6, 7, 8, 9]
liste = ['1' for i in range(10)] # ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
listf = [i * 2 for i in range(10) if i * 2 % 8 == 0] # [0, 8, 16]找出符合条件(i*2%8==0)的值
那么2维或多维列表又如何定义呢?咱们直接看例子:
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #定义了一个3行3列的3维列表
list2 = [[1, 2, 3, 4, 5], 'dotcpp', {1, 2, 3, }, ('www', 'dotcpp', 'com')] #定义了一个包含列表、字符串、集合、元组的4维列表
#推导式创建方法如下:
my_list = [[i for i in range(1,7)] for j in range(1,7)]
print(my_list)
如果如下:
[[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6]]
2、List(列表)的访问
先来定义一个List,如下:
list 1= ['red', 'green', 'blue', 'yellow', 'white', 'black']
list1总共有6个元素,分别是:'red', 'green', 'blue', 'yellow', 'white', 'black' 6个字符串元素,每个元素都有index索引与value值属性,整个列表有多少个元素可以用len()方法获得。
第1元素的index是0,第2个元素的index是1,以此类推;最后一个元素的index是len(list1)-1,也可以用-1表示,因此倒数第二个元素的索引是-2,其他类推。
要访问列表中的值可以通过索引来实现,例如:
list1 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print(list1[0]) # red
print(list1[1]) # green
print(list1[5]) # black
print(list1[len(list1)-1]) # black
print(list1[-1]) # black
如果想知道某个元素的索引呢,可以通过以下代码获得:
list1 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print(list1.index("blue")) # 2
3、List(列表)的切片
List列表切片是非常有用的功能,示例如下:
list1 = ['www', '.', 'test', '.', 'com', '.', 'cn']
print(list1) # ['www', '.', 'test', '.', 'com', '.', 'cn']
print(list1[6]) # 下标是从0开始的,[6]个元素:cn
print(list1[-2]) # 倒数第2个元素:.
print(list1[:3]) # 前3个元素:['www', '.', 'test']
print(list1[3:]) # 第3个元素之后的元素(不包含第3个字符):['.', 'com', '.', 'cn']
print(list1[2:6]) # 第2个元素之后到第6个元素组成的列表:['test', '.', 'com', '.']
print(list1[::2]) # 偶数位置的元素组成的列表:['www', 'test', 'com', 'cn']
print(list1[::-1]) # 逆置列表:['cn', '.', 'com', '.', 'test', '.', 'www']
4、列表的操作方法
1) 改变元素的值
列表的元素是可以改变的,上面讲了可以直接通过索引或下标来访问元素,那么我们可以在访问元素值的时候赋予其新的值,示例代码如下:
list6 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list6[0] = "orange"
list6[3] = 'purple'
print(list6) # ['orange', 'green', 'blue', 'purple', 'white', 'black']
2) 增加元素append()、extend()方法
list.append(obj),在列表末尾添加新的对象
list.extend(seq),在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
示例代码:
list1 = ['red', 'green', 'blue']
list2 = [1, 2, 3]
list1.append("grey")
print(list1) #['red', 'green', 'blue', 'grey']
list1.extend(list2)
print(list1) #['red', 'green', 'blue', 'grey', 1, 2, 3]
3) 插入元素insert()方法
list.insert(index,obj),在索引index位置插入对象obj
list2 = [1, 2, 3]
list2.insert(2,[7,8,9]) # 在索引为2的位置插入对象
print(list2) #[1, 2, [7, 8, 9], 3]
4) 删除元素remove()方法、pop()方法
list.remove(obj),移除列表中某个值的第一个匹配项
list.pop([index=-1]),移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list6 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list6.remove('black')
print(list6) # ['red', 'green', 'blue', 'yellow', 'white']
list6.remove(list6[4])
print(list6) # ['red', 'green', 'blue', 'yellow']
a = list6.pop() # 默认删除最后一个,返回被删除的值
print(list6, a) # ['red', 'green', 'blue'] yellow
list6.pop(1) # 删除下标为1的值
print(list6) # ['red', 'blue']
5) 对列表进行排序sort()方法、reverse()方法
list.sort( key=None, reverse=False),对原列表按ASCII码进行排序,两个参数均可省。
list1 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list2 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list3 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list1.sort() #按字母顺序排序,['black', 'blue', 'green', 'red', 'white', 'yellow']
list2.sort(reverse=True) #按字母逆序排序,['yellow', 'white', 'red', 'green', 'blue', 'black']
list3.sort(key=len) #按长度排序, ['red', 'blue', 'green', 'white', 'black', 'yellow']
基中key可以是做函数,python有内置的函数可以直接用,常用的内置key函数包括:
(1)str.lower() / str.upper():将字符串转换为小写/大写字母后再进行比较。适用于字符串的大小写不敏感的情况。
例如,按照字符串的字母顺序排序:
lst = ['abc', 'A', 'Ab']
lst.sort(key=str.lower)
print(lst)
# 输出:['A', 'Ab', 'abc']
(2)abs():返回数值的绝对值。适用于按照数值大小排序的情况。
例如,按照数值的绝对值大小排序:
lst = [-3, 1, -2]
lst.sort(key=abs)
print(lst)
# 输出:[1, -2, -3]
(3)len():返回对象的长度。适用于按照对象大小排序的情况。
例如,按照字符串长度排序:
lst = ['abc', 'a', 'ab']
lst.sort(key=len)
print(lst)
# 输出:['a', 'ab', 'abc']
list.reverse(),反向列表中元素,代码如下:
list1 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list1.reverse()
print(list1) # ['black', 'white', 'yellow', 'blue', 'green', 'red']
6) 列表的清空clear()与复制copy()
list1 = ['red', 'green', 'blue']
list2 = [1, 2, 3]
list2 = list1.copy() # 列表被新的列表所覆盖
list1.clear() # 清空列表
print(list1) # []
print(list2) # ['red', 'green', 'blue']
7) 列表的的计数方法count()
list.count(obj),统计某个元素在列表中出现的次数
list1 = ['red', 'green', 'blue', 'red']
print(list1.count('blue')) # 1
print(list1.count('red')) # 2
5、其它相关方法或函数
示例代码:
list1 = ['red', 'green', 'blue', 'red']
str1 = "good boy"
print(len(list1)) # 4
print(max(list1)) # red
print(min(list1)) # blue
print(list(str1)) # ['g', 'o', 'o', 'd', ' ', 'b', 'o', 'y']
愉快学习的时光总是过得很快,一不小心又到结尾啦。
先来给自己一个奖励,双手举起,yeah!
有什么问题可以关注我/私信我/加好友,让我们一起成长吧。
相关推荐
- 软件商店下载官方网站(软件商店正版软件下载)
-
软件商店安装的方法步骤如下:1.第一步,需要注册一个微软账户,然后点击桌面左下角的开始图标,然后在开始菜单中找到微软商店图标,点击进入。2.第二步,点击进入应用商店主页。3.第三步,在商店中搜索...
- 系统应用架构(系统应用架构有哪些)
-
一、目的不同:系统架构是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务。应用构架是描述了IT系统功能和技术实现内容的构架。二、实现方式不同:系统架构通过规划程序...
- 雨林木风ghostxpsp3纯净版(雨林木风xp系统怎么样)
-
1.你下载的雨林木风GHOSTXPSP3纯净版Y8.0是一个克隆光盘映像文件,首先将其刻录成光盘,这个光盘是一个带有启动系统的系统克隆安装光盘;2.将电脑设置成光驱启动(在启动电脑时连续按DEL键...
- 加密u盘怎么解除(加密的u盘如何解除)
-
1、打开控制面板,修改查看方式,点击bitlocker驱动器加密选项2、在新窗口点击地下的bitlocker驱动器加密的解锁驱动器3、在弹出的窗口中键入解锁密码,点击解锁4、然后在刚刚的窗口中点击...
- itunes下载的固件在哪个位置
-
可以刷机的将手机联入电脑电脑会自动下载符合手机的版本的固件是一样的,都是通过官方固件包来重装系统。操作步骤如下;1.电脑端下载最新版本的itunes,不然重装时可能会造成未知错误。2.iphone...
- 电脑重装系统后没声音(电脑重装系统后没声音怎么解决win7)
-
如果您在电脑重装系统后没有声音,可能是由于以下一些常见问题导致的:1.驱动程序问题:重装系统后,可能需要重新安装声卡驱动程序。您可以从电脑制造商的官方网站或声卡制造商的官方网站上下载并安装最新的声卡驱...
- win10制作系统u盘(制作win10系统优盘)
-
方法一:使用微软官方工具制作u盘工具安装win101、首先电脑浏览器输入“windows10下载”,找到微软官方地址进入,然后选择立即下载工具到电脑上。2、鼠标右键选择以管理员身份运行,同意协议进入下...
- 苹果手机wlan设置在哪(苹果手机 wlan)
-
进入设置->Wi-Fi。如何设置iPhone的WIFI?2.选择Wi-Fi之后,会显示附近能搜索到的所有的Wi-Fi网络。如何设置iPhone的WIFI?3.选中其中网络Wi-F...
- 召唤系统游戏(召唤系统游戏排行)
-
亡灵进化专家:写的很不错了。猪脚可以用金属或骨头帮自己的亡灵进化升级挺有意思的。不过还没写完网游之审判:是英雄无敌类型的。不过写的很牛逼也写完了。推荐看看还有不死传说:虽然不是召唤的,主教是僵尸和吸血...
- w7系统怎么样(电脑w7系统怎么样)
-
有以下几点理由来分析为什么win7受欢迎1、Windows7有望受到企业用户认可微软目前的最大担心是:企业用户认为Windows7性能同Vista相差不大,因此不会出手购买。微软当初发布Vist...
- 无敌系统流小说(无敌系统流的小说)
-
《嫡女之花开富贵》作者:伊人睽睽简介祖父是镇国将军,贵不可言;外公是帝师,才名满天下;父母亲琴瑟和鸣,恩爱无双,无妾室插足;穿越为书香门第的嫡小姐,且无任何庶兄妹,慕兰音认为,她这一生,必将佳期如梦...
-
- 键盘上windows键是哪个键(电脑键盘上windows键是哪个)
-
一、台式机键盘。Windows键,简称“Winkey”或“Win键”,是在计算机键盘左下角Ctrl和Alt键之间的按键,台式机全尺寸键盘的主键盘区左下角和右下角各有一个,图案是MicrosoftWindows的视窗徽标。二、笔记...
-
2026-01-13 11:51 off999
-
- 桌面图标设置在哪打开(桌面图标从哪里调出)
-
1、首先来到电脑桌面,此时桌面没有任何图标,如下图所示。2、我们先右键单击任务栏,会出现工具栏,这时我们在下拉的选项里选择“快速启动”按钮。3、单击快速启动按钮后会出现如图所示情况,这时在电脑屏幕的左下方会显示很多快捷按钮,一般情况下单击快...
-
2026-01-13 10:51 off999
- windows如何进入启动项(怎么进入启动选项)
-
方法步骤如下:1.点击应用在Windows设置界面点击应用选项进入。2.选择启动在左侧分类中选择启动选项。3.点击开关点击软件后方的开关即可启动或关闭开机启动项。1、在Window的文件资...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
