首页 > 编程语言 >python中的列表

python中的列表

时间:2025-01-07 21:55:09浏览次数:1  
标签:10 matrix nums python 列表 lst 25

在刷算法题时,Python 的列表(list)是非常常用的数据结构。列表的操作灵活且功能丰富,非常适合用来处理数组、队列、堆栈等问题。以下总结了常用的列表语法和在算法题中会用到的场景:


1. 列表的创建

  • 直接创建

    lst = [1, 2, 3, 4]
    
  • 列表推导式

    squares = [x ** 2 for x in range(5)]  # [0, 1, 4, 9, 16]
    even_numbers = [x for x in range(10) if x % 2 == 0]  # [0, 2, 4, 6, 8]
    
  • 初始化固定大小列表

    lst = [0] * 5  # [0, 0, 0, 0, 0]
    

2. 列表的基本操作

  • 访问元素

    lst = [10, 20, 30]
    first = lst[0]  # 10
    last = lst[-1]  # 30
    
  • 修改元素

    lst[1] = 25  # lst becomes [10, 25, 30]
    
  • 追加元素

    lst.append(40)  # lst becomes [10, 25, 30, 40]
    
  • 插入元素

    lst.insert(1, 15)  # lst becomes [10, 15, 25, 30, 40]
    
  • 删除元素

    lst.pop()        # 删除最后一个元素,返回40,lst变为[10, 15, 25, 30]
    lst.pop(1)       # 删除索引1处的元素,返回15,lst变为[10, 25, 30]
    lst.remove(25)   # 删除值为25的元素,lst变为[10, 30]
    

3. 切片操作

  • 基本切片

    lst = [1, 2, 3, 4, 5]
    lst[1:4]       # [2, 3, 4]
    lst[:3]        # [1, 2, 3]
    lst[3:]        # [4, 5]
    lst[::-1]      # [5, 4, 3, 2, 1] 反转
    
  • 切片赋值

    lst[1:3] = [10, 20]  # lst becomes [1, 10, 20, 4, 5]
    

4. 遍历列表

  • 普通遍历

    for x in lst:
        print(x)
    
  • 索引和值同时遍历

    for i, x in enumerate(lst):
        print(i, x)
    

5. 常用列表操作

  • 求长度

    n = len(lst)  # 返回列表的长度
    
  • 求最值

    max_val = max(lst)
    min_val = min(lst)
    
  • 求和

    total = sum(lst)
    
  • 检查存在性

    if 10 in lst: 
        print("10 exists")
    
  • 排序

    lst.sort()               # 就地升序排序
    lst.sort(reverse=True)   # 就地降序排序
    sorted_lst = sorted(lst) # 返回排序后的新列表
    

6. 列表推导式的应用

列表推导式是算法题中非常高效且简洁的写法。

  • 过滤数据

    nums = [1, 2, 3, 4, 5]
    evens = [x for x in nums if x % 2 == 0]  # [2, 4]
    
  • 嵌套列表推导式

    matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    flatten = [x for row in matrix for x in row]  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
    

7. 二维列表

刷算法题中,二维列表经常用来表示矩阵或图。

  • 创建二维列表

    matrix = [[0] * 3 for _ in range(3)]  # 创建一个3x3的矩阵
    
  • 访问二维列表元素

    val = matrix[1][2]  # 访问第2行第3列
    
  • 遍历二维列表

    for row in matrix:
        for val in row:
            print(val)
    

8. 列表的算法题常见场景

  1. 滑动窗口

    for i in range(len(nums) - k + 1):
        window = nums[i:i+k]  # 提取长度为k的窗口
    
  2. 双指针

    left, right = 0, len(nums) - 1
    while left < right:
        if nums[left] + nums[right] == target:
            break
    
  3. 堆栈模拟

    stack = []
    for num in nums:
        while stack and num > stack[-1]:
            stack.pop()
        stack.append(num)
    
  4. 矩阵遍历

    for i in range(len(matrix)):
        for j in range(len(matrix[0])):
            print(matrix[i][j])
    
  5. 构建累加和数组

    prefix_sum = [0] * (len(nums) + 1)
    for i in range(len(nums)):
        prefix_sum[i + 1] = prefix_sum[i] + nums[i]
    

9. 总结

列表是刷算法题中最常用的数据结构之一。掌握列表的操作和技巧,如切片、推导式、遍历、排序等,可以大幅提升代码的简洁性和效率。结合具体场景(如滑动窗口、双指针、二维矩阵遍历),能够更快速地解决问题。

标签:10,matrix,nums,python,列表,lst,25
From: https://www.cnblogs.com/lmc7/p/18658443

相关文章

  • Python应用指南:高德交通态势数据(二)
    本篇文章是对上篇内容的一个深化探讨,通过生成多个矩形来实现一定范围的道路交通态势查询,在上一篇文章中,我们详细介绍了如何利用单个矩形区域查询功能来获取特定区域内的实时交通状况。然而,在实际应用中,城市交通网络复杂多变,单一矩形往往难以覆盖广泛的地理范围或满足更精细的......
  • python中的队列
    在Python中,队列(Queue)通常使用collections.deque来实现,因其提供了高效的从两端添加和删除元素的操作。队列通常遵循先进先出(FIFO)的原则,也就是最先插入的元素最先被移除。队列的基本操作:append(x):将元素x加入队列的尾部。popleft():移除并返回队列的头部元素。appen......
  • Python3 学习指南与资料分享
    Python3学习资料https://pan.quark.cn/s/4f79eee15bf9Python3学习资料https://pan.quark.cn/s/4f79eee15bf9Python3学习资料https://pan.quark.cn/s/4f79eee15bf9在如今这个科技飞速发展的时代,掌握Python3编程技能无疑为你打开了一扇通往无限可能的大门。无论你是想......
  • 基于Python的大语言模型词嵌入技术
    文章目录一、词嵌入技术概述1.1词嵌入的基本概念1.2词嵌入的主要方法二、使用Python实现词嵌入2.1使用Gensim实现Word2Vec2.2使用GloVe进行词嵌入2.3使用FastText进行词嵌入三、词嵌入在大语言模型中的应用3.1使用Transformers库实现BERT嵌入3.2在大语言模型训......
  • 如何通过Python优化大语言模型的参数效率
    文章目录一、大语言模型参数效率优化的必要性1.1参数效率的重要性1.2优化技术的概述二、Python实现参数优化技术2.1模型压缩2.2模型剪枝2.3知识蒸馏2.4模型量化三、优化技术的技术细节3.1模型压缩技术3.2模型剪枝技术3.3知识蒸馏技术3.4模型量化技术四、参......
  • 2025毕设python游泳馆管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于游泳馆管理系统的研究,现有研究主要集中在传统管理模式或者单一功能模块的优化上,专门针对使用Python构建综合多功能游泳馆管理系统......
  • 开启 Python3 学习之旅
    Python3学习资料Python3学习资料Python3学习资料在当今数字化的时代,编程技能愈发成为个人竞争力的关键组成部分,而Python3作为一门备受青睐的编程语言,以其简洁优雅、功能强大的特性,吸引着无数初学者与专业人士投身其中。一、轻松入门:环境搭建与基础了解开启Python3学......
  • Python 模块,包(详解)
    一.引用变量        引用变量:值的传递通常可以分为两种方式,一种是值的传递,一种是引用地址传递,在Python中一般都是用引用地址传递        变量名和对象:变量名(如a)和它指向的对象(如整数5)是分开的。变量名本身没有存储任何数据,它只是指向数据的一个标签(或者......
  • Python数据结构与常用操作方法汇总
     在Python中,数据结构是程序中用来存储、组织和操作数据的基本方式。常见的数据结构有列表(list)、元组(tuple)、字典(dict)、集合(set),每种数据结构有自己特定的操作方法。目录一:列表(list)二: 元组(tuple) 三:字典(dict) 四:集合(set)一:列表(list)  列表是......
  • python毕设 学院图书管理系统的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于学院图书管理系统的设计与实现这一问题的研究,现有研究主要以商业图书管理系统为主,专门针对学院这种特定环境下的图书管理系统的研......