百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

python序列之列表详解

liuian 2025-03-06 16:49 28 浏览

Python中除了字符串外,还有另外两种序列:列表和元组,他们都可以包含零个或多个元素,而且并不要求所含元素的类型相同,每个元素都可以是任何Python类型对象。

为什么Python要同时设计列表和元组这两种序列结构呢?这是因为元组和字符串类似是不可变的,当你给元组赋值时,这些值便会被固定在元组中而无法修改。而列表是灵活可变的,可以随意插入或者删除其中的元素,结构更灵活,用处也更强大。

一:列表创建

使用[ ]或者list[ ]创建列表

number=[1,2,3]
s=['lily','jude']
mix=[1,'hello',[1,2,3],3.14]      #混合列表
empty=[]                                #也可以创建一个空的列表
> list('jude')                            # 使用list函数创建
['j','u','d','e'] 

二:列表操作

2.1,通过索引获取元素,索引值从0开始

name=['lucy','lily',['china','usa'],'007','anna','mei']
name[0] >>> 'lucy'
name[1] >>> 'lily'
name[-1] >>> 'mei'  #获取最后一个元素,依次类推
name[2][1] >>>'usa'   #针对嵌套的列表结构,可多次通过索引获取

2.2,列表分片获取

当需要从列表一次性取出多个元素时,需要通过列表分片的方式来实现,

其基本形式是:列表名[左索引值:右索引值],左右索引值都可以省略,

左索引值省略时表明,列表元素从0开始,右索引值省略表示包含左索引值右边的所有元素。

注意:分片其实是创建原列表的一个拷贝

member = ['php','python','java','sql']        
member[1:3] >>>['python','java']            #member本身元素并没有发生变化,相当于生成了包含元素1和2的新列表
member[:3] >>>['php','python','java']     #表示从第0个索引值开始
member[1:] >>>['python','java','sql']       #表示从左索引值开始到列表右边所有元素
member[:] >>>['php','python','java','sql']      #相当于复制了一份原列表

分片操作可以接收第三个参数,也就是步长,格式如下:[start:end:step],

step在不指定时默认为1

numb=[1,2,3,4,5,6]
numb[0:6:2] >>>[1,3,5]
numb[::2] >>>[1,3,5]
numb[::-1] >>>[6,5,4,3,2,1]       #相当于复制一个反转的列表

2.3,列表复制

三种方法都可以将一个列表的值复制到一个新的列表

  • copy()函数 用于拷贝一个列表
  • list()函数转换
  • 列表分片[ : ]
list1 = [123,456]
list2 = list1.copy()  
#则list2的值也变为[123,456] 它的功能和列表分片功能 list2 = list1[:]作用是一样的;
#他们两个与赋值运算符=是有区别的,前者是在内存中重新申请一个空间并存放列表的值,
=则是将列表的地址直接赋值给了另一个列表,
举例说明两者带来的区别:
list1 = [1,3,5]
list2 =list1
list3 = list1.copy()
list1.append('python')
list2 >> [1,3,5,'python']
list3 >> [1,3,5]

2.4,列表排序


经常需要将列表按元素值进行排序,python提供了两个函数

  • list.sort(reverse=False) :直接改变原列表结构,默认升序排列,
  • sorted(list) :返回排序后的结果,相当于复制了一个列表,原列表不变

如果列表中元素都是数字,会默认安装从大小大的升序排列,如果元素都是字符串,则会按照字母表顺序排列。

进阶用法:

sort(func,key,reverse) func和key分别设置排序的算法和关键字,

reverse=False表示正序排列,为True颠倒顺序,默认正序

a=[1,5,3,99,6]
a.sort()  
a >> [1,3,5,6,99]
sorted(a)           #内置函数sorted,返回排序后的结果,相当于复制了一个列表,原列表不变
>> [1,3,5,6,99]

2.5,添加元素

  • append(str):添加元素至列表尾部
  • extend([]):将一个列表合并到另一个列表中,等价于 +=
  • insert(index,str):在指定位置插入元素
>>> number=['lucy','lily']
#append函数将元素添加到列表末尾
>>> number.append('007') 
    ['lucy','lily','007'] 
#extend函数将列表添加到列表的末尾
>>> number.extend(['anna','mei']) #等价于 number+=['anna','mei']  
    ['lucy','lily','007','anna','mei']
#insert()方法
>>> number.insert(0,'ken')
    ['ken','lucy','lily','007','anna','mei']
**连接操作符,两个列表直接相加可以得到合并之后的新列表
a,b=[1,2],[3,4]
>>> a+b
    [1,2,3,4]
>>> a*2 
    [1,2,1,2]

2.6 删除列表元素

  • remove(str):删除指定值的元素
  • del(index) : 删除指定位置的元素
  • pop(num=-1) :删除指定位置的元素(默认删除最后一个元素),该函数返回删除的元素
  • clear() :用于删除列表中的所有元素,变成一个空的列表
name=['lucy','lily','007','anna','mei']
>>> name.remove('lucy')
    ['lily','007','anna','mei']

>>> del name[1]
    ['lily','anna','mei']

>>> name.pop() 
'mei'
>>> name
['lily','anna']
>>> name.pop(1)
    'anna'
>>> name
['lily']

list1 = [1,1,2,3,4]
>>> list1.clear() 
>>> list1
    []

2.7,使用in判断值是否存在

判断列表中是否存在该元素,存在返回True

name=['lucy','lily','007','anna','mei']
>>> '007' in name
True

2.8,使用join()转换为字符串

注意:join()其实是字符串方法,不是列表的方法,不能通过suit.join()进行调用。

join() 是字符串分割split()的逆过程

suit=['apply','orange','peer']
>>> '# '.join(suit)
'apply# orange# peer'

2.9,元素计数

使用count()可以计算某一个特定元素在列表中出现的次数

#count计算参数在列表中出现的次数
list1.count(1) >>> 2 

2.10,获取列表长度及列表反转

  • len():返回列表的长度
  • reverse():没有返回值,对原列表的进行反转而不是复制一个
list1=[1,2,3,1,4]
#计算元素个数
>>> len(list1) 
5 
#列表反转
>>> list1.reverse() 

>>> list1
[4, 1, 3, 2, 1]

相关推荐

免费清理软件哪个最好最快(免费好用的清理垃圾软件)
  • 免费清理软件哪个最好最快(免费好用的清理垃圾软件)
  • 免费清理软件哪个最好最快(免费好用的清理垃圾软件)
  • 免费清理软件哪个最好最快(免费好用的清理垃圾软件)
  • 免费清理软件哪个最好最快(免费好用的清理垃圾软件)
手机cdr转jpg最简单的方法(手机cdr转换jpg)

cdr文件怎么转换成jpg,快来看下操作方法吧。方法/步骤1、打开电脑中的cdr软件,点击文件,打开,打开需要转换格式的cdr文件。2、点击菜单栏的文件,导出。3、打开导出对话框选择保存文件路径。4、...

xp永久激活工具(xp永久激活码)

如果你需要重置XP的激活器,你需要先打开“开始”菜单,然后选择“运行”。在运行对话框中,输入“regedit”,然后按回车键。这会打开注册表编辑器。在编辑器中,使用左侧面板来导航到“HKEY_LOCA...

cad2008激活序列号(激活cad的序列号)

1.首先运行“AutoCAD2008安装包”中的“Setup.exe”安装AutoCAD2008,安装过程需要十分钟左右;2.第一次运行AutoCAD2008时,请在注册界面输入序列号666-9...

自己可以重装电脑系统么(可以自己重装系统吗)

电脑自身也可以重装系统。1.电脑是一个可编程的设备,通过特定的步骤和操作,用户可以自行进行系统重装。2.重装系统的过程包括备份重要数据、获取系统安装介质、重新启动电脑进入安装界面、按照指引选择系统...

win11免费下载(win11正式版下载)
  • win11免费下载(win11正式版下载)
  • win11免费下载(win11正式版下载)
  • win11免费下载(win11正式版下载)
  • win11免费下载(win11正式版下载)
qq邮箱在哪里找账号(qq邮箱账号在qq里怎么找)
  • qq邮箱在哪里找账号(qq邮箱账号在qq里怎么找)
  • qq邮箱在哪里找账号(qq邮箱账号在qq里怎么找)
  • qq邮箱在哪里找账号(qq邮箱账号在qq里怎么找)
  • qq邮箱在哪里找账号(qq邮箱账号在qq里怎么找)
苹果处理器性能排行(苹果处理器性能排行榜平板)

1、截止至最新的iPhoneXS上搭载的A12,从iPhone4首次搭载A4处理器开始,目前已经有9代的苹果A系列处理器;2、A4是一颗45nm制程的ARMCortex-A8的单核心处理器,GP...

苹果手机怎么录屏(苹果手机怎么录屏在哪里打开)

iPhone手机的屏幕录制功能需要在设置里面进行添加,添加成功之后,就可以使用录屏功能了。点击控制中心进入iPhone手机的设置,来到设置之后,找到控制中心选项并点击。点击加号添加录屏功能来到控制中心...

电脑怎么打开系统还原(电脑怎么开启系统还原的功能)

右键此电脑,属性,系统保护,配置,勾选启用系统保护,确定,创建,输入还原点描述,点击创建,系统提示已成功创建还原点,点击关闭,当需要还原的时候,点击上面的系统还原,选择需要还原的节点,点击完成,即可开...

ghost系统下载xp(非ghostxp下载)

蒲公英系统网站能下载。下载后缀为gho的xp系统,使用体验非常棒效果非常好。以上信息根据美国华盛顿操作系统邮报最新消息显示。不能装钉钉的。在WindowsXP系统上是不能安装钉钉来上网课的。要使用钉...

电脑安全模式怎么用(电脑安全模式怎么按出来)

1.进入运行输入指令确定键盘上按下win+r组合键,打开运行,输入msconfig,点击确定。2.进引导系统选安全引导进入页面后,点击引导,选中系统,勾选安全引导,点击确定。3.重启进入安全模式弹出...

win10可选更新(win10可选更新和必要更新)

首先确保系统是激活状态。如果不是,可以用小马激活或KMS激活软件等工具激活。1.打开开始菜单,选择“设置”,选择“更新和安全”,设置自动检测安装更新,接受win10推送。电脑接受win10推送后...

讯飞语音输入法(讯飞语音输入法电脑版)

手机中讯飞语音输入法操作起来非常的简便。我们可以先打开讯飞语音。输入法在输入法键盘上的上端有一个麦克风的标识,我们只要点开麦克风的标识,就可以说话了,上面就会出现相应的文字了。文字可以自动帮我们识别修...

电脑品牌型号在哪里看(电脑选什么牌子的好)

查看自己电脑品牌型号和具体配置的具体方法:1.右键点击桌面上的“这台电脑”图标,弹出的菜单中选择“属性”。2.在此界面即可看到你的电脑的CPU品牌(AMD)、型号(A6-5200)、频率(2.0GHz...