Python List:完整指南

363 阅读6分钟

Python List Example | List In Python Tutorial Explained

Python 的 list 是最通用的数据类型。关于列表的一个重要的事情是,列表中的项目不需要是相同的类型。在 Python 编程语言中,有四种集合数据类型。

  1. 列表是有序和可改变的集合。它允许重复的成员。
  2. 元组 是一个有序且不可改变的集合。它允许重复的成员。
  3. Set是无序和无索引的集合--没有重复的成员。
  4. Dictionary是一个无序的、可改变的、有索引的集合。没有重复的成员。

在这个例子中,我们将谈论 Python List。列表是一个有序和可改变的集合。在 Python 中,列表是用方括号写的。

Python List

Python List是一种内置的数据类型,在方括号之间有逗号分隔的值(元素)。列表可能包含有其不同位置的重复值;因此,在创建列表时可以将多个不同的或重复的值作为一个序列传递。

让我们创建一个列表,就像把不同的逗号分隔的值放在方括号之间一样简单。请看下面的代码。

# app.py

listA = ['Game Of Thrones', 8, 'Stranger Things', 3, 'Friends', 10]
listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print(listA)
print(listB)

请看下面的输出。

➜  pyt python3 app.py
['Game Of Thrones', 8, 'Stranger Things', 3, 'Friends', 10]
['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
➜  pyt

与字符串的索引类似,列表的索引从 0 开始,列表可以被切分,连接,等等。

如何访问 Python 列表中的值

要访问 Python 列表中的元素,参考索引号。

请看下面的代码。

# app.py

listA = ['Game Of Thrones', 8, 'Stranger Things', 3, 'Friends', 10]
listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print(listA[2])
print(listB[1])

如果我们想访问列表中的值,使用方括号与索引一起进行切分,以获得该索引处的可用值。

# app.py

listA = ['Game Of Thrones', 8, 'Stranger Things', 3, 'Friends', 10]
listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print("listA[2]: ", listA[2])
print("listB[1:2]: ", listB[1:2])

见下面的输出。

pyt python3 app.py
listA[2]:  Stranger Things
listB[1:2]:  ['Millie Bobby Brown']pyt

更新 Python 列表

要在 Python 中更新列表,可以使用列表的索引号并更新索引处的新元素。如果我们想改变一个特定元素的值,那么我们必须参考索引号。请看下面的代码。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print('Before change', listB)
listB[2] = 'Emma Mackey'
print('After change', listB)

请看下面的输出。

➜  pyt python3 app.py
Before change ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
After change ['Emilia Clarke', 'Millie Bobby Brown', 'Emma Mackey']

循环浏览一个列表

要在Python中迭代一个列表,使用for循环。你可以使用 for 循环,如果。 如果我们想通过一个循环 进行迭代。请看下面的代码。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
for item in listB:
    print(item)

请看输出。

➜  pyt python3 app.py
Emilia Clarke
Millie Bobby Brown
Jennifer Aniston
➜  pyt

检查元素是否存在

在Python中检查一个元素是否存在,使用if...in condition。我们可以使用if条件检查列表中的项目是否存在。请看下面的代码。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
if "Millie Bobby Brown" in listB:
    print('Millie is Stranger Things Star')

请看下面的输出。

➜  pyt python3 app.py
Millie is Stranger Things Star
➜  pyt

Python 列表长度

要检查Python List 的长度,使用len()函数。如果我们想确定一个列表有多少个元素,使用**len()**方法。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print(len(listB))

请看下面的输出。

➜  pyt python3 app.py
3
➜  pyt

在这里,我们得到的输出是三,因为列表包含了三个项目。

在 Python 列表中添加元素

要向Python 列表 添加 元素,请使用list append()方法。我们可以使用 append() 方法在列表中添加或追加新元素。请看下面的代码。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
listB.append('Emma Mackey')
print(listB)

请看下面的输出。

➜  pyt python3 app.py
['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston', 'Emma Mackey']
➜  pyt

如果我们想在指定的索引处插入一个元素,我们可以使用insert()方法。见下面insert()方法的语法。

insert(index, item)

请看下面的代码示例。

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
listB.insert(2, 'Emma Mackey')
print(listB)

请看下面的输出。

➜  pyt python3 app.py
['Emilia Clarke', 'Millie Bobby Brown', 'Emma Mackey', 'Jennifer Aniston']
➜  pyt

看,我们已经在索引2处插入了一个元素。记住,索引是从2开始的。

从 Python 列表中删除一个元素

要从 Python 列表中删除一个元素,请使用list pop() 方法。有几种方法可以从 Python List 中删除项目。 首先,我们将看到Python List pop()方法。

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
listB.pop()
print(listB)

它将删除列表中的最后一个项目。因此,在我们的例子中,Jennifer Aniston 将被删除。请看下面的输出。

➜  pyt python3 app.py
['Emilia Clarke', 'Millie Bobby Brown']
➜  pyt

现在,让我们看看Python List remove()方法。

Python remove() 方法将从列表中删除指定的项目。我们需要传递项目名称。

# app.py

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
listB.remove('Emilia Clarke')
print(listB)

请看输出结果。

➜  pyt python3 app.py
['Millie Bobby Brown', 'Jennifer Aniston']
➜  pyt

还有一个叫del 的关键字 它也是将项目从列表中删除。请看下面的例子。

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
del listB[0]
print(listB)

请看输出。

➜  pyt python3 app.py
['Millie Bobby Brown', 'Jennifer Aniston']
➜  pyt

clear() 方法清空了列表。请看下面的代码。

listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
listB.clear()
print(listB)

请看输出结果。

➜  pyt python3 app.py
[]
➜  pyt

列表()构造函数

你可以使用 list() 构造函数来制作一个新的列表。请看下面的例子。

# app.py

listB = list(('Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston'))
print(listB)

在上面的代码中,我们需要添加双圆括号。请看下面的输出。

➜  pyt python3 app.py
['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
➜  pyt

所以,使用 list() 构造函数来制作一个列表。

复制一个列表

你不能仅仅通过输入list2 = list1 来复制一个列表,因为list2将仅仅是对list1引用,在list1中做出的改变也会自动在list2中做出。

有一些方法可以实现;一种方法是使用内置的 List 方法 copy() 。

请看下面的 copy() 方法代码示例。

listB = list(('Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston'))
listM = listB.copy()
print(listM)

请看输出结果。

➜  pyt python3 app.py
['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
➜  pyt

#List 方法

Python 有一组内置的方法,你可以在列表上使用。

方法描述
append()在列表的最后添加一个项目。
clear()删除列表中的所有项目。
copy()返回列表的副本。
count()返回具有指定值的项目的数量。
extend()将一个列表(或任何可迭代的)中的项目,添加到当前列表的末尾。
index()返回具有指定值的第一个项目的索引。
insert()在指定的位置添加一个项目。
pop()移除指定位置的项目。
remove()移除具有指定值的项目。
reverse()反转列表的顺序。
sort()对列表进行排序。

本教程到此为止。