当前位置: 首页 > news >正文

优推宝可以做自己网站吗深圳网站建设制作哪家便宜

优推宝可以做自己网站吗,深圳网站建设制作哪家便宜,建设专业网站网络,可以做笔记的网站深入理解列表与元组 —— Python 序列结构全面解析一、引言Python 是一种简洁而强大的编程语言,其中「序列类型」(Sequence Types)是核心数据结构之一。列表(list)和元组(tuple)是最常用的两种序…

深入理解列表与元组 —— Python 序列结构全面解析

一、引言

Python 是一种简洁而强大的编程语言,其中「序列类型」(Sequence Types)是核心数据结构之一。列表(list)和元组(tuple)是最常用的两种序列结构。它们在日常编程、数据分析、Web开发、甚至机器学习场景中都扮演着重要角色。本章将深入解析 Python 的列表和元组,涵盖它们的定义、操作方法、常用算法、使用技巧及性能对比等,帮助读者不仅“能用”,更能“用好”。


二、列表(List)

2.1 列表的定义与基本概念

列表是 Python 中最常用的可变序列,使用中括号 [] 来定义,内部元素可以是任意类型,甚至嵌套其他列表。

my_list = [1, "hello", 3.14, True]

特点:

  • 支持元素重复;

  • 支持索引访问(正向和负向);

  • 支持切片;

  • 支持动态修改、删除和添加元素;

  • 支持任意类型混合。

2.2 增加元素

Python 提供多种方式添加列表元素:

  • append(x):在末尾追加单个元素

  • insert(i, x):在索引 i 位置插入元素 x

  • extend(iterable):将其他可迭代对象拆分并追加到当前列表末尾

  • 使用 + 操作符拼接两个列表

示例:

lst = [1, 2, 3]
lst.append(4)           # [1, 2, 3, 4]
lst.insert(1, 'a')      # [1, 'a', 2, 3, 4]
lst.extend([5, 6])      # [1, 'a', 2, 3, 4, 5, 6]

2.3 查找元素

  • in 运算符:判断是否存在

  • index(x):返回首次出现的索引(若不存在则抛异常)

  • 切片、for 循环迭代等方式遍历列表

lst = [10, 20, 30]
20 in lst         # True
lst.index(30)     # 2

2.4 修改元素

通过索引直接修改指定位置的值:

lst = [1, 2, 3]
lst[0] = 100       # [100, 2, 3]

还可通过切片批量修改:

lst[1:] = [200, 300]   # [100, 200, 300]

2.5 删除元素

  • pop([i]):删除并返回索引 i 的元素,默认删除最后一个

  • remove(x):删除首次出现的值为 x 的元素

  • del lst[i]:使用 del 关键字按索引删除

  • clear():清空列表

示例:

lst = [1, 2, 3, 2]
lst.pop()           # 删除 3
lst.remove(2)       # 删除第一个 2
del lst[0]          # 删除索引为 0 的元素
lst.clear()         # 列表变空

2.6 合并列表

  • 使用 +:创建新列表

  • 使用 extend():原地修改原列表

a = [1, 2]
b = [3, 4]
c = a + b        # 不影响 a、b
a.extend(b)      # a 变为 [1, 2, 3, 4]

2.7 排序与反转

  • sort():原地排序(可传 key 和 reverse)

  • sorted():返回新排序列表

  • reverse():原地反转

  • reversed():返回反转迭代器

lst = [3, 1, 2]
lst.sort()           # [1, 2, 3]
sorted(lst)          # [1, 2, 3]
lst.reverse()        # [3, 2, 1]

三、基于列表的常见算法

3.1 冒泡排序

冒泡排序是一种朴素但易于理解的排序算法:

def bubble_sort(lst):n = len(lst)for i in range(n - 1):for j in range(n - i - 1):if lst[j] > lst[j+1]:lst[j], lst[j+1] = lst[j+1], lst[j]

时间复杂度:O(n²)

虽然效率不高,但对学习算法思想很有帮助。现代开发中更多使用 sorted() 或其他更高效算法如 Timsort、快速排序等。

3.2 列表推导式(List Comprehension)

Python 强大的表达式方式之一,可用于快速构建或处理列表。

squares = [x**2 for x in range(10)]  # [0, 1, 4, 9, ..., 81]

四、元组(Tuple)

4.1 基础概念

元组是 不可变的序列,使用小括号 () 定义:

t = (1, 2, 3)

与列表的区别:

特性列表 list元组 tuple
可变性可变(mutable)不可变(immutable)
表示方式[]()
使用场景临时数据、多变数据结构不变数据结构、作为字典键等

即使只有一个元素的元组,也要加逗号:

singleton = (1,)    # 正确
not_a_tuple = (1)   # 实际是 int

4.2 元组操作

  • 支持索引访问和切片

  • 支持 in 运算符

  • 支持嵌套、迭代

t = (1, 2, [3, 4])
t[2][0] = 99   # 虽然元组不可变,但其元素若是可变对象仍可变

4.3 应用场景

  • 用于函数返回多个值

  • 用作字典的键

  • 用于集合中元素(可哈希)


五、列表 vs 元组:何时使用?

场景推荐结构
需要频繁修改元素列表
固定结构,不可变数据(如坐标)元组
作为字典键元组
占用空间小、性能更好元组(更快,内存更少)

性能对比(在大量操作中):

import timeit
print(timeit.timeit('[1, 2, 3, 4, 5]', number=1000000))  # 慢
print(timeit.timeit('(1, 2, 3, 4, 5)', number=1000000))  # 快

六、实际案例与最佳实践

6.1 多变量赋值

x, y = (1, 2)

6.2 函数返回多个值

def get_stats(data):return min(data), max(data)min_val, max_val = get_stats([1, 2, 3])

6.3 排序自定义对象列表

people = [('Tom', 25), ('Jerry', 22)]
people.sort(key=lambda x: x[1])  # 按年龄排序

七、总结

  • 列表和元组是 Python 中最基本、最常用的容器类型;

  • 列表强调灵活性和操作性,适用于动态变化的数据集合;

  • 元组强调结构与稳定性,适用于固定数据结构、函数返回、字典键等场景;

  • 掌握各类操作方法(添加、查找、修改、删除、排序)对日常开发至关重要;

  • 熟悉列表推导式、元组打包/解包等高级语法,有助于写出更简洁、优雅的 Python 代码;

  • 在实际开发中,要根据具体需求选择合适的容器类型,从而写出性能高、结构清晰的代码。

http://www.dtcms.com/a/430245.html

相关文章:

  • 常见网站建设公司术语哪有做建筑设计的网站
  • 灯饰 技术支持 东莞网站建设什么网站可以做平面赚钱
  • 网站统计怎么做更改host文件把淘宝指向自己做的钓鱼网站
  • 网站编程技术优化是企业通过网站来做吗
  • 网站建设制作的规划方案折扣卡网站建设
  • 分类目录网站程序网站开发的验收标准
  • 网站上写个招贤纳士怎么做微应用和微网站的区别是什么
  • 重庆建设厅网站公示公告栏服务公司发展战略
  • 网站制作的论文南昌网站建设报价单
  • 郑州网站app开发国家反诈中心app下载安装注册
  • 选择扬中网站建设画出网站和目录结构图
  • 网站集成微信登陆网页粒子效果网站
  • 用织梦做的网站好不好网站管理难做吗
  • 学校网站建设工作总结cdn wordpress 登录
  • 电子商务网站运营与管理广告公司名称创意
  • 怎么用二维动画做网站首页步骤外贸跨境电商
  • 做美缝在哪个网站接单青岛网站优化快速排名
  • 做海报图片去哪个网站找 知乎包装设计的目的和意义
  • 大型房产网站模板福田祥菱v2双排后双轮报价
  • 哈尔滨做网站建设seo技术优化整站
  • 最新免费网站收录提交入口泸州市建设局网站
  • 做封面哪个网站好焦作网站建设哪家专业
  • 云主机安装网站带后台管理的网站模板
  • 企业网站设计图百度是什么网站
  • 这么做介绍网站的ppt上海专业的网站
  • asp网站改php网站方法阿里巴巴网站怎么做全屏大图
  • 网站建设与管理下拉列表框前端线上培训哪个好
  • 成都高投建设开发有限公司网站直接拖拉做网站的软件
  • 查询类网站怎么做智能硬件开发流程
  • 长沙做电商网站设计goood 谷德设计网官网