编程语言
首页 > 编程语言> > python——列表简介

python——列表简介

作者:互联网

序列是python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,第二个索引是1,以此类推。

python中有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

列表是什么

列表由一系列按特定顺序排列的元素组成。你可创建包含字母表中所有字母、数字0-9或所有家庭成员姓名的列表,也可以将任何东西加入列表,其中的元素之间可以没有任何关系。列表通常包含很多个元素,因此给列表指定一个表示复数的名称(如letters、digits或names)是一个好的习惯。这里,举个通俗的例子,假如你让你的女朋友去买菜,可以让她带一个篮子,之后她可以将各种菜都放进篮子里,这里篮子就相当于列表的作用。

在python中,用方括号[]表示列表,并用逗号分隔其中的元素。下面是一个简单的示例,其中包含几种自行车:

bicycles = [trek,cannondale,redline,specialized]
print(bicycles)

访问列表元素

列表是有序集合,因此要访问列表的任意元素,只需将该元素的位置(索引)告诉python即可,要访问元素,可指出列表名称,在指出元素的索引,并将后者放在方括号内。

例如,下面的代码从bicycles中取出第一辆自行车:

bicycles = [trek,cannondale,redline,specialized]
print(bicycles[0])

索引从0开始不是从1开始

在python中,第一个列表元素的索引是0不是1,这与列表的底层实现相关。python为访问最后一个元素提供了一种特殊的语法。通过将索引指定为-1,可让python返回最后一个列表元素。其中最后一个元素的索引是-1,从后往前依次是-1,-2,-3等

bicycles = [trek,cannondale,redline,specialized]
print(bicycles[-1])

访问列表中的值(使用列表中的各个值)

你可以像使用其他变量一样,使用列表中的各个值,例如,可以使用f字符串根据列表中的值来创建消息。

bicycles = [trek,cannondale,redline,specialized]
message = fMy first bicycle was a {bicycles[0].title()}.
print(message])

列表的增删改查

在列表中添加元素

1、在列表的末尾添加元素

在列表中添加新元素时,最简单粗暴的方式就是将元素附加(append)到列表。给列表附加元素时,它将添加到列表的末尾。继续使用前一个示例中的列表,在其末尾添加新元素ducati:

bicycles= [trek,cannondale,redline,specialized]
print(bicycles)
bicycles.append(ducati)
print(bicycles)

方法append()将元素‘ducati’添加到列表末尾,而不影响其他元素。append只能添加一个元素,使用extend()函数可以将一个新的列表插入到原来列表的末尾。

2、在列表中插入新元素

使用方法insert()可在列表的任何位置添加新元素,为此,只需要指定要插入的元素和索引值。

bicycles= [trek,cannondale,redline,specialized]
print(bicycles)
bicycles.insert(0,ducati)
print(bicycles)

这里将ducati插入到列表的开头,原先的元素都右移一个单位。

在列表中删除元素

1、使用del语句删除元素

如果你知道要删除元素的索引值,可以使用del语句。

bicycles= [trek,cannondale,redline,specialized]
print(bicycles)
del bicycles[0]
print(bicycles)

这里直接将元素0删除,使用del语句可以删除任意位置的列表元素,条件是知道索引,使用del语句删除元素之后,你就将再也为无法访问了。

2、使用pop()方法删除元素

有时候,你可能需要删除某个元素,但是接着使用它的值,这时候使用pop()方法即可。术语弹出(pop)源自这样的类比,列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

pop()方法不输出参数时,默认删除最后一个元素,如果要删除任意位置的元素,只需要输入要删除元素的索引值即可。

4、根据值删除

前面介绍的都是根据索引值删除,使用remove()方法,可以把某个值的元素删除。

remove()方法删除元素之后,也可以使用它的值,注意:如果列表中有多个要删除的值,remove()方法只会删除第一个值,不会删除所有的。

修改列表元素的值

可以使用索引的方法访问后直接赋值,如果要修改一段的则可以使用列表切片的方式,访问赋值,和单个元素是一样的道理

查找列表元素的值

直接访问它的索引即可,也可以使用count()函数返回某个值是否存在,出现的次数是多少。

组织列表(排序,倒序)

使用方法sort()对列表永久排序,方法sort可以较为轻松的对列表进行排序。

cars = [bwm,audi,toyota,subaru]
cars.sort()
print(cars)

默认sort是从小到大进行排序,如果需要从大到小排序,只需要传入参数reverse= True即可。

bicycles= [trek,cannondale,redline,specialized]
bicycles.sort(reverse = True)
print(bicycles)

使用函数sorted进行临时排序,不修改原来列表的值。

reverse()函数是不按大小,只是把列表倒序。

最后,可以使用len()函数来计算列表含有多少个元素,其中,这里是直接从1开始计数的,不存在偏差1的情况,最后python的列表最为新颖的是切片——”无切片,不python“以及列表推导式。

列表推导式

引入,假如现在要创建一个列表,列表包含1~10的偶数,用普通方法实现如下:

num = []
for i in range(1,11)
    if(i%2==0)
        num.append(i)
print(num)

如果用列表推导式实现如下:

num = [x for x in range(1,11) if(x%2==0)]
print(num)

列表推导式的语法

简单语法:[表达式 for 变量 in 可迭代对象]

带条件无else:[表达式 for 变量 in 可迭代对象 if 条件语句]满足条件才会在列表中添加

带条件且有else:[表达式 if 条件语句 else 条件语句 for 变量 in 可迭代对象,满足不同条件添加不同的列表元素

多个for循环

表达式 第一个for循环 第二个for循环,这就类似于嵌套循环而已,没什么新奇的。

标签:
来源: