系列教程导航

  1. Python 基础教程
  2. 在 SublimeEditor 中配置 Python 环境
  3. Python 代码中添加注释
  4. Python 中的变量的使用
  5. Python 中的数据类型
  6. Python 中的关键字
  7. Python 字符串操作
  8. Python 中的 list 操作
  9. Python 中的 Tuple 操作
  10. Python max()和 min()–在列表或数组中查找最大值和最小值
  11. Python 找到最大的 N 个(前 N 个)或最小的 N 个项目
  12. Python 读写 CSV 文件
  13. Python 中使用 httplib2–HTTP GET 和 POST 示例
  14. Python 将 tuple 开箱为变量或参数
  15. Python 开箱 Tuple–太多值无法解压
  16. Python multidict 示例–将单个键映射到字典中的多个值
  17. Python OrderedDict–有序字典
  18. Python 字典交集–比较两个字典
  19. Python 优先级队列示例

Python 列表操作详解

Python 中,列表(List)具有以下特性:

  • 有序(Ordered):元素保持插入顺序。
  • 可索引(Indexed):索引从 0 开始。
  • 可变(Mutable):创建后可以修改。
  • 异构(Heterogeneous):列表中的项目不必是同一类型。
  • 语法:写为方括号之间的逗号分隔值列表。
listOfSubjects = ['physics', 'chemistry', "mathematics"]
listOfIds = [0, 1, 2, 3, 4]
miscList = [0, 'one', 2, 'three']

1. 访问列表元素

要访问列表中的值,请使用切片语法或数组索引形式的方括号来获取单个项目或项目范围。

传递的索引值可以是正数或负数。如果索引是负数,则从列表的末尾开始计数。

list[m : n] 表示子列表从索引 m(包括)开始,到索引 n(不包括)结束。

  • 如果 m 未提供,则假定其值为零。
  • 如果 n 未提供,则选择范围直到列表的最后。
ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(ids[0])         # 0
print(ids[1:5])       # [1, 2, 3, 4]
print(ids[:3])        # [0, 1, 2]
print(ids[7:])        # [7, 8, 9]
print(ids[-8:-5])     # [2, 3, 4]

2. 修改列表

要更改列表中的特定项目,请使用其索引引用该项目并分配一个新值。

charList = ["a", "b", "c"]
charList[2] = "d"
print(charList)       # ['a', 'b', 'd']

3. 遍历列表

我们可以使用 for 循环来遍历列表项。

charList = ["a", "b", "c"]

for x in charList:
    print(x)

# 输出:
# a
# b
# c

4. 检查元素是否存在

使用 in 关键字确定列表中是否存在指定的项目。

charList = ["a", "b", "c"]
if "a" in charList:
    print("a is present")       # a is present

if "d" in charList:
    print("d is present")
else:
    print("d is NOT present")   # d is NOT present

5. 获取列表长度

使用 len() 函数查找给定列表的长度。

charList = ["a", "b", "c"]
x = len(charList)
print(x)                        # 3

6. 添加元素

  • 要将项目添加到列表的末尾,请使用 append(item) 方法。
  • 要在特定索引位置添加项目,请使用 insert(index, item) 方法。如果 index 大于列表长度,则将项目添加到列表的末尾。
charList = ["a", "b", "c"]
charList.append("d")    
charList.append("e")
print(charList)         # ['a', 'b', 'c', 'd', 'e']

charList.insert(5, "f")
print(charList)         # ['a', 'b', 'c', 'd', 'e', 'f']

charList.insert(10, "h")    # 不会报错
print(charList)         # ['a', 'b', 'c', 'd', 'e', 'f', 'h']

7. 删除元素

若要从列表中删除项目,主要有四种途径:remove()pop()clear()del 关键字。

7.1. remove()

它通过值删除指定的项目。

charList = ["a", "b", "c"]
charList.remove("c")    
print(charList)         # ['a', 'b']

7.2. pop()

它通过索引删除指定的项目。如果未提供 index,它将从列表中删除最后一项。

charList = ["a", "b", "c", "d"]
charList.pop()          # 移除 'd' - 最后一项
print(charList)         # ['a', 'b', 'c']

charList.pop(1)         # 移除 'b'
print(charList)         # ['a', 'c']

7.3. clear()

它清空列表。

charList = ["a", "b", "c", "d"]
charList.clear()    
print(charList)         # []

7.4. del 关键字

它可以用来从列表的索引中删除项目,也可以用来删除整个列表

charList = ["a", "b", "c", "d"]
del charList[0]    

print(charList)         # ['b', 'c', 'd']

del charList

# print(charList)       # NameError: name 'charList' is not defined

8. 合并列表

我们可以使用 + 运算符或 extend() 函数将两个给定的列表加入 Python。

charList = ["a", "b", "c"]
numList = [1, 2, 3]

list1 = charList + numList
print(list1)            # ['a', 'b', 'c', 1, 2, 3]

charList.extend(numList)
print(charList)         # ['a', 'b', 'c', 1, 2, 3]

9. 列表常用方法汇总

以下是 Python 列表对象的常用方法参考:

9.1. append()

在列表的末尾添加一个元素。

charList = ["a", "b", "c"]
charList.append("d")
print(charList)         # ["a", "b", "c", "d"]

9.2. clear()

从列表中删除所有元素。

charList = ["a", "b", "c"]
charList.clear()
print(charList)         # []

9.3. copy()

返回列表的副本。

charList = ["a", "b", "c"]
newList = charList.copy()
print(newList)          # ["a", "b", "c"]

9.4. count()

返回具有指定值的元素数。

charList = ["a", "b", "c"]
x = charList.count('a')
print(x)                # 1

9.5. extend()

将列表的元素添加到当前列表的末尾。

charList = ["a", "b", "c"]
numList = [1, 2, 3]
charList.extend(numList)
print(charList)         # ['a', 'b', 'c', 1, 2, 3]

9.6. index()

返回具有指定值的第一个元素的索引。

charList = ["a", "b", "c"]
x = charList.index('a')
print(x)                # 0

9.7. insert()

在指定位置添加元素。

charList = ["a", "b", "c"]
charList.insert(3, 'd')
print(charList)         # ['a', 'b', 'c', 'd']

9.8. pop()

删除指定位置或列表末尾的元素。

charList = ["a", "b", "c", "d"]
charList.pop()          # 移除 'd' - 最后一项
print(charList)         # ['a', 'b', 'c']

charList.pop(1)         # 移除 'b'
print(charList)         # ['a', 'c']

9.9. remove()

删除具有指定值的项目。

charList = ["a", "b", "c", "d"]
charList.remove('d')
print(charList)         # ['a', 'b', 'c']

9.10. reverse()

颠倒列表中项目的顺序。

charList = ["a", "b", "c", "d"]
charList.reverse()
print(charList)         # ['d', 'c', 'b', 'a']

9.11. sort()

默认情况下,以升序对给定列表进行排序。

charList = ["a", "c", "b", "d"]
charList.sort()
print(charList)         # ["a", "b", "c", "d"]
说明:本文示例基于 Python 3 环境,列表基本操作在 Python 3.x 版本中保持稳定。

学习愉快!