8.1 列表的定义(掌握)

列表是一个有序的、可变的序列,可以包含任意类型的元素。列表是 Python 中最常用的数据结构之一,适合存储一系列数据。列表用方括号 [] 表示,元素之间用逗号分隔。

  • 定义列表

    empty_list = []                # 空列表
    numbers = [1, 2, 3, 4, 5]      # 包含整数的列表
    mixed_list = [1, "hello", 3.14, True]  # 混合数据类型的列表

8.2 列表的基本操作(掌握)

列表支持多种基本操作,如访问、修改、添加和删除元素。

8.2.1 访问元素

  • 使用索引访问列表中的元素,索引从 0 开始,支持负索引。

    numbers = [1, 2, 3, 4, 5]
    print(numbers[0])    # 输出 1
    print(numbers[-1])   # 输出 5(最后一个元素)

8.2.2 修改元素

  • 使用索引修改列表中的元素。

    numbers = [1, 2, 3, 4, 5]
    numbers[0] = 10
    print(numbers)       # 输出 [10, 2, 3, 4, 5]

8.2.3 列表切片

  • 使用切片获取列表中的一部分,格式为 列表[起始:结束:步长]

    numbers = [1, 2, 3, 4, 5]
    print(numbers[1:4])      # 输出 [2, 3, 4]
    print(numbers[:3])       # 输出 [1, 2, 3]
    print(numbers[::2])      # 输出 [1, 3, 5]
    print(numbers[::-1])     # 输出 [5, 4, 3, 2, 1](列表反转)

8.2.4 列表长度

  • 使用 len() 函数获取列表的长度。

    numbers = [1, 2, 3, 4, 5]
    print(len(numbers))      # 输出 5

8.3 列表的常用方法(掌握)

Python 提供了多种方法来操作列表,这些方法可以帮助我们对列表进行添加、删除、查找等操作。

8.3.1 append():添加元素到列表末尾

  • 使用 append() 方法将元素添加到列表的末尾。

    numbers = [1, 2, 3]
    numbers.append(4)
    print(numbers)           # 输出 [1, 2, 3, 4]

8.3.2 insert():在指定位置插入元素

  • 使用 insert(index, element) 方法在指定位置插入元素。

    numbers = [1, 2, 3]
    numbers.insert(1, "hello")
    print(numbers)           # 输出 [1, 'hello', 2, 3]

8.3.3 extend():扩展列表

  • 使用 extend() 方法将一个列表的所有元素添加到另一个列表末尾。

    numbers = [1, 2, 3]
    more_numbers = [4, 5, 6]
    numbers.extend(more_numbers)
    print(numbers)           # 输出 [1, 2, 3, 4, 5, 6]

8.3.4 remove():删除指定元素

  • 使用 remove(element) 方法删除列表中的第一个匹配的元素。如果元素不存在,会引发 ValueError

    numbers = [1, 2, 3, 2, 4]
    numbers.remove(2)
    print(numbers)           # 输出 [1, 3, 2, 4]

8.3.5 pop():弹出指定位置的元素

  • 使用 pop(index) 方法删除并返回指定位置的元素。如果不指定索引,默认删除并返回最后一个元素。

    numbers = [1, 2, 3, 4]
    last_element = numbers.pop()
    print(numbers)           # 输出 [1, 2, 3]
    print(last_element)      # 输出 4

8.3.6 clear():清空列表

  • 使用 clear() 方法删除列表中的所有元素。

    numbers = [1, 2, 3, 4]
    numbers.clear()
    print(numbers)           # 输出 []

8.3.7 index():查找元素的索引

  • 使用 index(element) 方法返回元素在列表中的第一个匹配索引。如果元素不存在,会引发 ValueError

    numbers = [1, 2, 3, 4]
    print(numbers.index(3))  # 输出 2

8.3.8 count():统计元素出现次数

  • 使用 count(element) 方法统计指定元素在列表中出现的次数。

    numbers = [1, 2, 2, 3, 4]
    print(numbers.count(2))  # 输出 2

8.3.9 sort()sorted():排序

  • 使用 sort() 方法对列表进行原地排序,改变原列表。可以传入 reverse=True 参数降序排序。
  • 使用 sorted() 函数返回一个排序后的新列表,不改变原列表。

    numbers = [3, 1, 4, 2]
    numbers.sort()
    print(numbers)           # 输出 [1, 2, 3, 4]
    
    numbers = [3, 1, 4, 2]
    sorted_numbers = sorted(numbers, reverse=True)
    print(sorted_numbers)    # 输出 [4, 3, 2, 1]

8.3.10 reverse():反转列表

  • 使用 reverse() 方法将列表中的元素顺序反转,改变原列表。

    numbers = [1, 2, 3, 4]
    numbers.reverse()
    print(numbers)           # 输出 [4, 3, 2, 1]

8.4 列表的生成式(掌握)

列表生成式(List Comprehension)是一种简洁的生成列表的方法,可以用一行代码创建一个新的列表,常用于数据处理和过滤。

  • 基本语法

    [表达式 for 变量 in 可迭代对象 if 条件]
  • 示例

    squares = [x**2 for x in range(1, 6)]
    print(squares)           # 输出 [1, 4, 9, 16, 25]
    
    even_numbers = [x for x in range(10) if x % 2 == 0]
    print(even_numbers)      # 输出 [0, 2, 4, 6, 8]

8.5 列表的嵌套(掌握)

列表可以包含其他列表,形成嵌套结构,用于表示二维或多维数据。

  • 示例

    matrix = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
    ]
    print(matrix[1][2])      # 输出 6,访问第2行第3列

8.6 列表的拷贝(了解)

列表的拷贝分为浅拷贝深拷贝

8.6.1 浅拷贝

  • 浅拷贝只复制列表的第一层元素,嵌套的列表仍然是引用。

    original = [1, [2, 3], 4]
    shallow_copy = original.copy()
    shallow_copy[1][0] = 99
    print(original)          # 输出 [1, [99, 3], 4]

8.6.2 深拷贝

  • 深拷贝递归地复制所有层级的元素,使用 copy 模块中的 deepcopy() 实现。

    import copy
    original =
    
     [1, [2, 3], 4]
    deep_copy = copy.deepcopy(original)
    deep_copy[1][0] = 99
    print(original)          # 输出 [1, [2, 3], 4]

8.7 列表和其他数据类型的转换(了解)

Python 提供了多种内置函数,可以将其他数据类型转换为列表。

  • 字符串转列表:使用 list() 将字符串的每个字符转为列表元素。

    text = "hello"
    text_list = list(text)
    print(text_list)         # 输出 ['h', 'e', 'l', 'l', 'o']
  • 元组转列表:使用 list() 将元组转换为列表。

    tuple_data = (1, 2, 3)
    list_data = list(tuple_data)
    print(list_data)         # 输出 [1, 2, 3]
  • 集合转列表:使用 list() 将集合转换为列表。

    set_data = {1, 2, 3}
    list_data = list(set_data)
    print(list_data)         # 输出 [1, 2, 3]
结束

本文标题: Python3学习笔记第八篇--列表

本文链接: https://blog.oyooy.com/archives/38.html

除非另有说明,本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

最后修改:2025 年 02 月 02 日
如果觉得我的文章对你有用,请随意赞赏