小甲鱼第五章——列表,元素和字符串

发布时间:2024年01月14日

列表

1.如何去创建一个列表:

使用中括号将数据包裹起来,数据之间用逗号隔开,就完成了列表的创建。例如:这就是一个列表

[1,2,3,4,5]

上面这个属于创建了一个匿名的列表,因为没有名字,所以创建完之后也没办法再次使用它,为了可以随时对他进行修改和引用,可以给它贴上一个变量名。

type()函数用于返回指定参数的类型,list即列表的意思

注意:python? 支持将各种不同的的数据放在一起。例如:

mix = [520,"小甲鱼",3.14,[1,2,3]]

上面这个列表里面有整数型,字符串,浮点型数据,甚至可以包含另一个列表。

那么你在不知道往列表里面放什么时,可以先创建一个空列表

2.向列表添加元素

可以往列表里面添加任何你想要添加的元素。添加元素到列表可以使用append方法:

但是注意:append不是一个内置函数,它是属于列表对象的一个方法,中间的? “ . ”?可以暂时理解为范围的意思。append()这个方法属于一个叫number的列表的对象的,

append方法只支持一个参数,如果希望添加多个数据,试试extend()方法向列表末尾添加多个元素。其实extend()事实上是使用一个列表来扩充另一个列表,所以它的参数是另一个列表。(没懂这句话是什么意思)

想要往列表任何一个位置添加元素,可以使用insert方法。

insert方法有两个参数,第一个参数是指定待插入的位置,(索引值)

第二个参数是待插入的元素值

insert()方法中代表位置的第一个参数还支持负数,代表与列表末尾的相对距离。

注意:在python中,第一个位置的索引值是0,第二个位置的索引值是1,第三个位置的索引值是2,以此类推

3.从列表当中获取元素

A. 通过索引值可以直接获得某个元素

eggs = ["鸡蛋","鸭蛋","鹅蛋","铁蛋"]
eggs[0]

这段代码的返回值就是"鸡蛋"

B.如果想要访问列表中最后一个元素,可以使用 len()函数获取该列表的长度(元素个数),再减 1?就是这个列表最后一个元素的索引值:

eggs = ["鸡蛋","鸭蛋","鹅蛋","铁蛋"]
eggs[len(eggs)-1]

?这段代码的返回值就是“铁蛋”

去掉len函数也会有同样的效果,我们可以利用索引值为负数,表示从列表末尾反向索引:

eggs = ["鸡蛋","鸭蛋","鹅蛋","铁蛋"]
eggs[-2]

那么这段代码的返回值就是“鹅蛋”

C.如果一个列表中我们要将两个元素位置进行调换,我们可以这样操作:

eggs = ["鸡蛋","鸭蛋","鹅蛋","铁蛋"]
temp = eggs[1]
eggs[1] = eggs[3]
eggs[3] = temp
eggs

?那么这段代码的运行结果就是["鸡蛋","铁蛋","鹅蛋","鸭蛋"]

这里的temp只是一个临时变量,避免相互遮盖,那么我们还可以使用另一种更为简单的方法去实现这个功能:

eggs = ["鸡蛋","鸭蛋","鹅蛋","铁蛋"]
eggs[1], eggs[3] = eggs[3] , eggs[1]
eggs

?D.如果进行一种抽奖功能的程序,我们就可以利用“奖项/参与者”放入列表里面,然后配合random模块实现即可

import random
prize = ["鸡蛋","铁蛋","鹅蛋","鸭蛋"]
random.choice(prizes)

这段代码就回返回列表当中的任意一个数据

random中的choice()方法可以从一个非空序列(如列表)中随机获取一个元素。

E.上文我们提到过,列表当中还可以有一个子列表,所以我们如果要获取子列表当中的一个元素,就可以使用两次索引

eggs = [鸡蛋"","铁蛋",["天鹅蛋","企鹅蛋","加拿大蛋"]"鸭蛋"]
eggs[2] [2]

那么这段代码的运行结果就是“加拿大蛋”

4.从列表当中删除

删除有三种方法可以实现:remove()? pop()? del

A. remove()方法需要指定一个待删除的元素:

eggs
["鸡蛋","铁蛋","鹅蛋","鸭蛋"]
eggs.remove("铁蛋")

这段代码的运行结果就是eggs["鸡蛋","鹅蛋","鸭蛋"]

使用remove删除一个元素的时候,我们并不需要知道这个元素具体的位置,但是如果指定元素不再这个列表当中,程序就会报错

B.pop()方法是将列表中的指定元素”弹“出来,也就是取出并删除该元素的意思,它的参数是一个索引值:

eggs = ["鸡蛋","鹅蛋","鸭蛋"]
eggs.pop(1)
‘鹅蛋’

那么这段代码的运行结果即使["鸡蛋","鸭蛋"]

如果你的opo()不带参数,那么pop()方法默认是弹出列表当中的最后一个元素。

eggs = ["鸡蛋","鸭蛋"]
eggs.pop()
"鸭蛋"

那么这段代码的运行结果就是”鸡蛋“

3.del语句

注意:它是一个python语句,而不是del的列表方法,或者是BIF(内置函数)

del eggs[0]

那么这段代码的运行结果就是? [? ]

del不仅可以用来删除列表当中的某些元素,还可以直接用来删除整个变量

5.列表切片

切片语法的引入(slice):

就是用冒号隔开两个索引值,左边是开始位置,右边是结束位置。

像这样:list[2:5]

注意:结束位置上的元素是不包括的,比如list[2:5]他就是不包括第五个索引值,只有2到4的索引值

如果省略了开始位置,就默认索引为0,如果省略了结尾位置,默认到结束。

直接举个例子:

list1 = ["钢铁侠","蜘蛛侠","蝙蝠侠","绿灯侠","神奇女侠"]
list2 = []
记住:这个是没写完的,这个是需要补的!

注意:列表切片并不会修改列表自身的租车给结构和数据,它其实是为列表创建一个新的拷贝(副本)并返回。

6.进阶玩法

列表切片其实还剋接受第三个参数,其·代表的是它的步长,默认值是1,下面将步长修改成2,就会得到这样的结果

list1 = [1,2,3,4,5,6,7,8,9]
list1[0:9:2]

那么这段代码的返回值就是[1,3,5,7,9]

其实该代码可以直接写成:list1[::2]效果是一样的

如果将步长设置成-1,就会变成这样:

list1[::-1]
[9,8,7,6,5,4,3,2,1]

记住,将步长设置为-1,就是将整个列表反过来了,

上面这些列表切片操作都是获取列表加工之后切片的拷贝,并不会影响到原有列表结构:

list1 = [1,2,3,4,5,6,7,8,9]
list1[::-2]
[9,7,5,3,1]
list1
[1,2,3,4,5,6,7,8,9]

但是如果将del列表用于列表切片,那么结果是这样的:

del list1[::2]
llist1
[2,4,6,8]

del直接作用于原始列表。

7.一些常规操作符:

?

?

?

?

?

?

?

?

文章来源:https://blog.csdn.net/python_20041027/article/details/135537816
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。