目录

 

前言

列表

访问列表元素

使用列表的各个值

添加、修改和删除列表元素

添加列表元素

修改列表元素

删除列表元素

列表排序

计算列表长度

最后


前言

上篇文章讲了Python变量和简单数据类型,今天我们来学习Python列表,在接下来,我们将学习列表是什么、如何使用列表元素。

列表

列表由一系列按特定顺序排列的元素组成。我们可以创建包含字母表中所有字母、数字0~9或所有汉字的列表,可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表例子:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)

这个列表包含了几种水果名称,输出结果为:

['Apple','banana','pear','watermelon']

这个显然不是我们要让用户看到的输出,所以我们要学习访问列表元素。

访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

注意:索引从0而不是1开始

看下面的例子:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits[1])

我们从列表Fruits中提取第二种水果,输出结果为:

banana

当我们请求获取列表元素时,Python只返回该元素,而不包含方括号和引号。

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits[-1])

输出结果为:

watermelon

当我们不知道列表长度而又要访问最后一个元素时,我们就可以使用这种负数索引。索引-2返回倒数第二个列表元素,以此类推。

使用列表的各个值

我们可以像使用其他变量一样使用列表中的各个值。例如下面代码:

Fruits=['Apple','banana','pear','watermelon']
message="My favorite fruit is "+Fruits[2]
print(message)

我们从列表中提起来第三种水果并将首字母大写,再把这个值来创建一条消息。输出结果为:

My favorite fruit is Pear

添加、修改和删除列表元素

我们创建的大多数列表都将是动态的,也就是说我们可以对列表元素进行添加、修改和删除的操作。

添加列表元素

我们可能出于众多原因要在列表中添加新元素。Python提供了多种在列表中添加新元素的方式。

1、在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。如下例:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
Fruits.append("Durian")
print(Fruits)

输出结果为:

['Apple','banana','pear','watermelon']
['Apple','banana','pear','watermelon','Durian']

使用append()方法将元素'Durian'添加到了列表末尾,而不影响列表中其他所有元素。

我们也可以先创建一个空列表,再使用一系列append()语句添加元素。如下例:

Fruits=[]
Fruits.append("Apple")
Fruits.append("banana")
Fruits.append("Dpear")
Fruits.append("watermelon")
print(Fruits)

输出结果为:

['Apple','banana','pear','watermelon']

这种创建列表方式非常常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。可先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。

2、在列表中插入元素

使用insert()方法可在列表的任何位置添加新元素,我们使用这种方法需要制定新元素的索引和值。例如:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
Fruits.insert(1,'Durian')
print(Fruits)

输出结果为:

['Apple','banana','pear','watermelon']
['Apple','Durian','banana','pear','watermelon']

insert()方法在索引1处添加空间并将值'Durian',存储到这个地方,把后面的元素都右移一个位置。

 

修改列表元素

修改列表元素的语法与访问列表元素的语法类似。可先指定列表名和要修改的元素的索引,再指定该元素的新值。例如:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
Fruits[1]='Durian'
print(Fruits)

输出结果为:

['Apple','banana','pear','watermelon']
['Apple','Durian','pear','watermelon']

我们把列表第二个元素'banana'修改为'Durian',输出表明,第二个元素值确实变了,其他列表元素的值没变。

 

删除列表元素

我们经常需要从列表中删除一个或者多个元素,例如当用户在某个地方注销其账户时,我们需要将该用户从活跃用户列表中删除。我们可以根据位置或者值来删除列表中的元素。

1、使用del语句删除元素

如果知道要删除的元素在列表中的位置,可使用del语句。例如:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
del Fruits[0]
print(Fruits)

使用了del删除了列表中的第一个元素'Apple',输出结果为:

['Apple','banana','pear','watermelon']
['banana','pear','watermelon']

我们可以使用del删除任何位置处的列表元素,前提是知道其索引,使用del语句将值从列表中删除后,我们就无法在访问它了

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

有时候,我们要将元素从列表删除,并接着使用它的值,这时,我们可以使用pop()方法删除列表末尾的元素,并让你能够接着使用它,如果使用pop方法删除任何位置的元素,那只需要括号中指定要删除的元素索引即可,例如:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
Fruits_poped=Fruits.pop()
print(Fruits)
print(Fruits_poped)

我们把列表中的最后一个值'watermelon'删除,并将其存放在变量Fruits_poped中,输出结果为:

['Apple','banana','pear','watermelon']
['Apple','banana','pear']
watermelon

输出结果表明,'watermelon'已经在列表中删除,并存储在变量Fruits_poped中。

3、根据值删除元素

我们有时候不知道删除值所处的位置,但知道要删除的元素的值,那么我们可以使用方法remove()。例如:

Fruits=['Apple','banana','pear','watermelon']
print(Fruits)
Fruits.remove(banana)
print(Fruits)

输出结果为:

['Apple','banana','pear','watermelon']
['banana','pear','watermelon']

注意:

  • remove()方法删除列表元素时,也可以接着使用它的值
  • remove()方法只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

列表排序

在我们创建的列表中,元素的排列顺序常常是无法预测的,因为我们并非总能控制用户提供数据的顺序,但我们经常需要以特定的顺序呈现信息,所以要把列表以一定的排列顺序排列出来。Python提供了很多组织列表的方式,可根据具体的情况选用。

1、使用方法sort()对列表进行永久性排序

Python方法sort()让我们能够轻松地对列表进行排序。我们来做个例子:

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

输出结果为:

['audi','bmw','subaru','toyota']

我们可以从输出结果看到,列表顺序改变了,而且是按字母顺序排列的。

注意:sort()方法是永久修改列表元素的顺序,再也无法恢复到原来的排列顺序。

我们还可以按与字母顺序相反的顺序排列列表元素,只需在sort()方法传递参数reverse=True。例如:

cars=['bmw','audi','toyota','subaru']
cars.sort(reverse=True)
print(cars)

输出结果为:

['toyota','subaru','bmw','audi']

同样,对列表元素排列顺序修改也是永久性的。

 

2、使用函数sorted()对列表进行临时排序

要保留列表原来的排列顺序,同时以特定的顺序呈现它们,可以使用函数sorted()。

函数sorted()让我们能够按特定顺序显示列表元素,同时不影响它们在列表中原始排列顺序。例如:

cars=['bmw','audi','toyota','subaru']
print("原来的排列顺序:")
print(cars)
print("\n重新排列后的顺序:")
print(sorted(cars))
print("\n排序完最终的排列顺序:")
print(cars)

输出结果为:

原来的排列顺序:
['bmw', 'audi', 'toyota', 'subaru']

重新排列后的顺序:
['audi', 'bmw', 'subaru', 'toyota']

排序完最终的排列顺序:
['bmw', 'audi', 'toyota', 'subaru']

我们先按照原始的顺序排列打印列表,再按字母顺序显示该列表,然后我们在进行核实,确认列表元素排列顺序与之前相同。

注意:调用函数sorted()后,列表元素的排列顺序并没变。我们也可以向函数sorted()传递reverse=True,使用排列顺序按字母相反顺序排列。

 

3、倒着打印列表

要反转列表元素的排列顺序,我们可以使用方法reverse(),轻松地按相反的顺序排列其中,例如:

cars=['bmw','audi','toyota','subaru']
print(cars)
cars.reverse()
print(cars)

输出结果为:

['bmw','audi','toyota','subaru']
['subaru','toyota','audi','bmw']

在输出结果可以看到,列表元素反转排列了出来。

注意:

  • reverse()方法不是指按与字母顺序相反的顺序排列元素,而是反转列表元素的排列顺序。
  • reverse()方法也是永久性修改列表的排列顺序,但可以随时恢复到原来的排列顺序,只要再次使用reverse()方法即可。

计算列表长度

使用函数len()可快速获取列表的长度,例如:

cars=['bmw','audi','toyota','subaru']
print(len(cars))

输出结果为:4

len()很有用的,当我们需要管理多少项可视化数据,网站有多少注册用户等。

最后

python列表及使用列表元素就讲到这里了,要讲得不好或者不懂的,可以私信我或者评论区和我讨论,下一篇我们继续讲有关列表和列表操作,循环等知识,敬请期待!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐