Python(五)

列表

Python里面没有数组一说,而代替数组作用的有个新名字,叫做列表
数组要求你放在数组里的数据类型必须一致,整型就放整型,字符串就放字符串,不能混合放置。
列表也可以理解为是一个强大的数组,但不能说是数组,Python没有数组,有的只是列表。列表可以放各种不同的数据,功能比较强大。
首先,先创建一个普通的列表,老规矩:

# 简单列表:
>>> member = ['中国加油','武汉加油','白衣天使加油']
>>> member
['中国加油', '武汉加油', '白衣天使加油']
>>> member = [1,2,3,4,5]
>>> member
[1, 2, 3, 4, 5]

列表可以起C语言中数组的作用。可以放字符串,也可以放数字。当然,也可以放其他的……
再创建一个混合列表:

#混合列表;
>>> mix = [1,'zxcv0221',3.1415926,[4,5,6]]
>>> mix
[1, 'zxcv0221', 3.1415926, [4, 5, 6]]

这个列表就很强,可以放整型数字,还可以放浮点型、字符串,也看到了,还可以在里面再放一个列表。
还可以创建一个空列表

>>> empty = []
>>> empty
[]

这个就是个空列表。
那么,如何向列表中添加元素呢?????Python当然它的办法,
第一种方法:
这个时候用到一个函数,名字叫做append()具体怎么用呢??说再多也不如直接看例子来的好,嘿嘿(为我懒得打字找个理由)!!!

>>> member
[1, 2, 3, 4, 5]
>>> member.append('添加项1')
>>> member
[1, 2, 3, 4, 5, '添加项1']

加上了,哈哈哈。那我再来试试,这次我添加两个,嘿嘿
在这里插入图片描述
哎???一次只能添加一个??好吧,这个函数看来能力有限,没关系,还有第二种,要相信大佬人总会想各种方法偷懒,嘿嘿,当然会有更简便的方法;
extend函数,这个是可以添加多个的它的使用方法跟append有点稍微不同;
看下示例:
在这里插入图片描述
成功啦,,,看出来了吗????这个函数在列表里添加元素要加中括号,这个是在列表里添加列表元素。。。。这样不就好起来了嘛。
那么看了这两个例子,有没有发现一个问题,我添加进列表的元素都是排在后面的,这是默认的,但是我想把它排在第一位,现在就再添加一个元素,这次我要让它排老大。

>>> member.insert(0,'我要排第一!')
>>> member
['我要排第一!', 1, 2, 3, 4, 5, '添加项1', '添加项2', '添加项3']

哈哈哈,排第一了,insert()函数,可以自己选择插入位置,这个函数有两个参数,第一个参数定位置。当然这里我用0,应该没有异议,哈哈哈,毕竟我们学编程的眼里的第“一”位是0
那么现在我就不想让它在第一个,我要想办法给他换到其他位置,怎么做,
老规矩;
在这里插入图片描述
你想排第一?,哈哈哈我就不让你排第一,倒数第一去吧。。。
上面的换位方法和其他编程语言类似,找个空的值,先将一个值存在这个空值里,再换位。
删除元素
也是三种方法:
1.remove()删除一个元素,删除谁呢?emmmmm 那就删了那个想排第一的吧,嘿嘿!

>>> member.remove('我要排第一!')
>>> member
['添加项3', 1, 2, 3, 4, 5, '添加项1', '添加项2']
#好,已经删除了

注意:如果同一列表中有两个相同的元素,那么使用此函数,默认删除从左到右数第一个元素。
2.del语句
del就是delete的缩写,用法看下面

>>> del member[0]
>>> member
[1, 2, 3, 4, 5, '添加项1', '添加项2']

这里我又把第0位的那个删除了。可以自定义想要删除的元素参数。
3.pop()
pop()函数是有一个参数的,如果不添加参数,默认删除最后一个元素。

>>> member.pop()
'添加项2'
>>> member
[1, 2, 3, 4, 5, '添加项1']

看第二行代码,删除之前,它会显示将要删除的那个元素。Python还是很人性化的。。
当然也可以想删哪个删哪个。

>>> member.pop(5)
'添加项1'
>>> member
[1, 2, 3, 4, 5]

现在这个列表已经被删的就剩数字元素了。
列表分片
这个不好描述,老规矩:

>>> member
[1, 2, 3, 4, 5]
>>> member[1:3]
[2, 3]
>>> member[:4]
[1, 2, 3, 4]
>>> member[1:]
[2, 3, 4, 5]
>>> member[:]
[1, 2, 3, 4, 5]

先看第一个,member[1:3]分出来member的第一位,到第三位,但是这个中括号是左闭右开,数学中的术语,就是左边是可以取到,而右边不能取到。注意:这里说的第一位是2,毕竟0才是第一个嘛
第二个,前面那个参数没有设置,那就默认全都有了,第三个跟第二个类似。
第四个,左右两边都没有参数,相当于一个列表的拷贝,讲原来的列表拷贝一份。

与列表连用的函数

与列表连用的函数有很多,可以输入dir list就可以查看
在这里插入图片描述
这里就不一一举例了,因为我也就会几种而已
在这里插入图片描述

list.reverse()#将列表中的元素从大到小排列
list.sort()#讲列表中的元素从小到大排列
list.count()#参数有一个,计算该参数在上面出现的次数
list.index()#参数三个,(信息,开始位置,结束位置)找出想找到的信息所在的位置

下面还有一些列表的比较好玩的用法

>>> list1 = [123]
>>> list2 = [456]
>>> list1 > list2
False             #从这里可以看出来列表也可以比较大小
>>> list1 = [123,456]
>>> list2 = [234,256]
>>> list1 > list2
False        #列表有多个元素比较大小时,只比较第一个元素的大小来确定列表大小
>>> list3 = list1 + list2
>>> list3           #可以相加
[123, 456, 234, 256]
>>> list4 = list3
>>> list4         #虽说是复制但真正用时这两个列表的变化是关联的
[123, 456, 234, 256]
>>> list3 * 3                #打印多次可以这么用
[123, 456, 234, 256, 123, 456, 234, 256, 123, 456, 234, 256]

等于跟拷贝是两个概念,不一样的。等于是指对于这个列表,只是多了一个指向它的标签;而拷贝则是在新的空间复制了一份,占用了额外的内存。两者不同!!!

发布了15 篇原创文章 · 获赞 6 · 访问量 1606

猜你喜欢

转载自blog.csdn.net/qq_45836474/article/details/104442067