列表的创建
列表创建语法格式:
listname=[element,element2,element3,elementN]
例如:
user=[张三,22,北京,程序员,]print(user)#[张三,22,北京,程序员]num=[,2,3,4,5,6]print(num)#[,2,3,4,5,6]说明:使用列表的时候,虽说可以将不同的数据类型放入同一个列表。但是为了提高程序的可读性,一般我们不这么做。一个列表内放的都是同一种类型元素
创建一个空列表的格式:
emptylist=[]
创建一个数值列表:
在python中,数值列表的创建可以使用list()函数直接将range()函数循环出来的结果转换为列表。
#创建一个0-20之间的偶数(不包括20)num=list(range(0,20,2))print(num)#[0,2,4,6,8]
列表的删除
列表元素的删除我们可以使用del语句,语法格式如下:
dellistname[元素索引]
例如:
#创建一个0-20之间的偶数(不包括20)num=list(range(0,20,2))print(num)#[0,2,4,6,8]#删除num列表第二个元素delnum[2]print(num)[0,2,6,8]
也可以使用此方法删除整个列表。前提注意:此列表一定是存在的!
#创建一个0-20之间的偶数(不包括20)num=list(range(0,20,2))print(num)#[0,2,4,6,8]delnumprint(num)#NameError:namenumisnotdefined
列表的遍历
遍历列表元素是一种很常见的操作,它可以执行查询、处理等操作。关于如何遍历我们有两种方式:
.使用for循环。语法格式如下:
fornuminnums:print(num)
例如:
#LOL下路部分ADCADs=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]foradinADs:#遍历打印所有adprint(ad)输出结果:寒冰射手皮城女警荣耀行刑官探险家法外狂徒戏命师暴走萝莉复仇之矛深渊巨口圣枪游侠赏金猎人
2.使用for循环和enumerate()函数。使用这套组合的好处是可以将元素的索引和值都打印出来。例如:
#LOL下路部分ADCADs=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]forindex,adinenumerate(ADs):print(index+,ad)输出结果:寒冰射手2皮城女警3荣耀行刑官4探险家5法外狂徒6戏命师7暴走萝莉8复仇之矛9深渊巨口0圣枪游侠赏金猎人
列表元素添加
方法一:
使用append()方法向列表添加元素,只能添加到列表末尾。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家]adc.append(麦林炮手)print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,麦林炮手]
方法二:
使用insert()方法向列表添加元素,可以添加到指定位置,但是因为其执行效率低,所以一般这种方法用的不是很多。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家]adc.insert(2,暗夜猎手)#使用insert()方法将新ad添加到索引为2的位置处print(adc)#[寒冰射手,皮城女警,暗夜猎手,荣耀行刑官,探险家]
方法三:
使用extend()方法适用于将一个列表中的元素全部插入到另外一个列表中去。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家]sup=[牛头酋长,曙光女神,星界游神,弗雷尔卓德之心]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家]print(sup)#[牛头酋长,曙光女神,星界游神,弗雷尔卓德之心]adc.extend(sup)#使用extend()方法将辅助列表中的全部元素添加到ad列表之后print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,牛头酋长,曙光女神,星界游神,弗雷尔卓德之心]
列表元素删除
删除有两种一种根据索引删除,一种根据值删除。
删除一:根据索引删除,前面说过了,就是按照
dellistname[索引值]
来操作,再来看一下:
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]#删除最后一位addeladc[-]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠]
删除二:使用值删除就不能再用之前的方法,就要用到remove()方法了。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,深渊巨口,圣枪游侠,赏金猎人]#删除ad-深渊巨口adc.remove(深渊巨口)print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,暴走萝莉,复仇之矛,圣枪游侠,赏金猎人]
列表统计学
.计算指定元素出现的次数:使用列表对象的count()方法可以计算出指定元素在列表中出现的次数。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,皮城女警,暴走萝莉,复仇之矛,荣耀行刑官,深渊巨口,圣枪游侠,荣耀行刑官,赏金猎人]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,皮城女警,暴走萝莉,复仇之矛,荣耀行刑官,深渊巨口,圣枪游侠,荣耀行刑官,赏金猎人]#统计荣耀行刑官出现的次数num=adc.count(荣耀行刑官)print(num)#3#统计皮城女警出现的次数num=adc.count(皮城女警)print(num)#2
2.获取指定元素首次出现的下标,使用列表对象的index()方法可以获取指定元素在列表中首次出现的索引。
#LOL下路部分ADCadc=[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,皮城女警,暴走萝莉,复仇之矛,荣耀行刑官,深渊巨口,圣枪游侠,荣耀行刑官,赏金猎人]print(adc)#[寒冰射手,皮城女警,荣耀行刑官,探险家,法外狂徒,戏命师,皮城女警,暴走萝莉,复仇之矛,荣耀行刑官,深渊巨口,圣枪游侠,荣耀行刑官,赏金猎人]#判断戏命师第一次出现的位置ind=adc.index(戏命师)print(ind)#5#判断寒冰射手第一次出现的位置ind=adc.index(寒冰射手)print(ind)#0
3.统计和。使用sum()函数可以计算列表中所有数字之和。
#期末考试部分成绩grade=[88,77,99,87,89,78,79,97,98]#计算考试总分total=sum(grade)print(考试总成绩:,total)#考试总成绩:
列表排序
.使用列表对象的sort()方法进行排序,其中sort()方法有一个参数reverse,其默认代表升序排列。当其值位True时,代表降序排列。
#期末考试部分成绩grade=[88,77,99,87,89,78,79,97,98]print(排序之前:,grade)grade.sort()print(默认升序:,grade)grade.sort(reverse=True)print(手动将序:,grade)print(初始列表元素顺序改变,grade)排序之前:[88,77,99,87,89,78,79,97,98]默认升序:[77,78,79,87,88,89,97,98,99]手动将序:[99,98,97,89,88,87,79,78,77]初始列表元素顺序改变[99,98,97,89,88,87,79,78,77]
2.使用python内置的sorted()方法进行排序。
#期末考试部分成绩grade=[88,77,99,87,89,78,79,97,98]print(排序之前:,grade)sorted(grade)print(默认降序:,grade)sorted(grade,reverse=True)print(手动升序:,grade)print(初始列表元素顺序发生改变,grade)排序之前:[88,77,99,87,89,78,79,97,98]默认降序:[77,78,79,87,88,89,97,98,99]手动升序:[99,98,97,89,88,87,79,78,77]初始列表元素顺序不发生改变[88,77,99,87,89,78,79,97,98]说明:其实不管是列表sort()方法还是python的sorted()方法,使用方法和处理结果都是一样的。区别就在于那个列表的sort()方法会改变列表先前元素的排列顺序。而使用sorted()方法则不会改变先前列表元素的排序。列表就说到此处,有问题欢迎各位小伙伴们留言。下一期我们看另外一个重要的序列结构-元组
回复下方「关键词」,获取优质资源
回复关键词「linux」,即可获取85页Linux工具快速教程手册和54页的Linux笔记。
回复关键词「Python进阶」,即可获取06页Python进阶文档PDF
回复关键词「Python面试题」,即可获取最新00道面试题PDF
回复关键词「python数据分析」,即可获取47页python数据分析与自然语言处理的PDF
回复关键词「python爬虫」,满满五份PPT爬虫教程和70多个案例
回复关键词「Python最强基础学习文档」,即可获取68页Python最强基础学习文档PDF,让你快速入门Python推荐我的