QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

「Python应用基础」第三章 列表和元组 学习笔记

日期:2025/04/03 14:12来源:未知 人气:57

导读:📚🔥「Python应用基础」第三章 列表和元组 学习笔记🚀💥2024年3月10日分享:📖💡一、学习目标:1. 掌握序列类型的基本概念2. 熟悉序列类型的通用操作3. 掌握列表类型的基本概念4. 熟悉列表类型的基本操作5. 掌握元组类型的基本概念6. 熟悉元组类型的基本操作7. 理解列表与元组的异同点8. 灵活运用列表和元组解决实际问题二、学习内容:3.1 序列类型概述pytho......

📚🔥「Python应用基础」第三章 列表和元组 学习笔记🚀💥

2024年3月10日分享:📖💡

一、学习目标:

1. 掌握序列类型的基本概念

2. 熟悉序列类型的通用操作

3. 掌握列表类型的基本概念

4. 熟悉列表类型的基本操作

5. 掌握元组类型的基本概念

6. 熟悉元组类型的基本操作

7. 理解列表与元组的异同点

8. 灵活运用列表和元组解决实际问题

二、学习内容:

3.1 序列类型概述

  • python常用的数据类型

  • Python 中的序列类型用于处理这些具有先后顺序的相关数据的。

  • 常用的序列类型包括:

  • 字符串(str):由按照一定顺序组合在一起的字符构成。

  • 列表(list):包含 0 个或多个不同类型元素的可变序列类型。

  • 元组(tuple):包含 0 个或多个不同类型元素的不可变序列类型。

**3.2 通用序列类型操作**

****3.2.1 索引****

  • 序列类型是一个元素向量, 元素之间存在先后关系, 所有元素都有序号(有时也称为偏移量或索引)。

  • 正向序号从左向 右, 由 0 开始递增, 直到序列长度减 1。

  • 反向序号从右向左, 由 –1 开始递减, 直到序列元素个数的负数值。

  • 序列中的元素可以通过正数序号和负数序号进行访问,例如:

案例: 根据用户输入的序号,打印出对应的股票信息。

  • 在使用索引时,序号不能超过允许的范围,否则会触发 IndexError 的异常,导致程序无法继续执行。

****3.2.2 分片


  • 当方括号中的索引变成由冒号分割的一对序号时,Python 将返回一个包含着对序号所标识的连续内容的新对象。

  • 分片的内容包含冒号左边序号的元素,没有包含冒号右边序号的元素。

  • 假设 s 为字符串“fintech是金融科技。”,对于分片,需要注意:

  • 包含左边界,不包含右边界。

  • s[:] 获得包含所有字符的新字符串,缺省的左边界为 0,右边界为序列长度。

  • s[0:7] 获得新字符串“fintech”,即序号为 0 直到序号为 7 之前的所有字符。

  • s[8:] 获得新字符串“金融科技。”,即从序号 8 到最后的所有字符。

  • s[:3] 获得新字符串“fin”,即从开头直到不包括序号为 3 之间的所有字符。

  • s[:-1] 获得新字符串“fintech 是金融科技”,即从开头直到不包括最后一个字符之间所有字符。

  • 步长

  • 在分片时, 除了可以指定左边界和右边界的序号外,还可以增加第三个值,即步长。

  • 步长和右边界之间也是使用冒号分隔,在不指定步长的情况 下, 步长默认值为 1。

  • 步长将会加到每次提取元素的序号上, 作为下次需要提取元素的序号。

s[start:end:step]

  • 步长可以是正数,也可以是负数。当步长为正数时,Python 会从序列的左边开始向右提取元素, 此时分片的左边界要 小于右边界;当步长为负数时,会从序列的右边开始向左提取元素,此时分片的左边界要 大于右边界。否则将得到空序列:

****3.2.3 使用链接“+”和重复“*”


  • 对于两个类型相同的序列,使用加号+进行连接,得到一个该类型的新序列:

  • 序列类型的值和一个整数n相乘,得到将该序列重复 n 次新的对象:

****3.2.4 使用in和not in 判断****

  • 通过运算符 in 可以判断某个元素是否在序列中, 如果元素在序列中,in 表达式返回 True,否则返回 False。运算符 not in 则正好相反:

****3.2.5 使用count计算元素出现的次数****

  • 当需要计算某个元素在序列中出现的次数时, 使用序列的 count 方法可以很轻松地完成这个任务:

****3.3 最灵活的序列类型:列表****

****3.3.1 创建列表****

  • 使用 list 函数可以将括号中的参数转换为列表:

  • list函数的参数可以是字符串、元组、字典或者集合等可迭代对象,但不能是整数、浮点数或布尔值:

  • 使用方括号 [] 创建列表时,需要在列表中列出所有元素:

  • 可以使用 list 函数和方括号 [] 创建空列表:

****3.3.2 列表的基本操作


  • 元素修改

  • 元素删除

  • 分片赋值

分片赋值可以理解为两步:首先删除赋值符号左边指定的分片,然后在删除的位置插入赋值符号右边的列表。

****3.3.3 列表的常用方法****

  • extend方法,可以一次在列表的末端插入多个元素。

  • append方法,可以在列表末端添加一个元素。

  • pop方法,可以移除并返回指定列表中某个位置的元素。在实际应用中, 常常会遇到先进先出的队列操作,利用 pop 方法和 append 方法就可以快速实现这种队列。

案例: 编写程序,要求用户输入股票名称,按照先进先出的规则打印出股票名称。

  • copy方法,生成一个新的列表, 复制调用者的所有元素。

案例: 使用列表 stock_info来存储股票基本信息,列表 stock_day1、stock_day2 等用 于存储股票的基本信息和每天的交易信息(开盘价、收盘价、最高价、最低价)。

  • sort方法,用于对列表进行原位置排序。

sort 方法会比较列表中的每个元素, 然后按照大小顺序进行排列。 因此,调用 sort 方法的列表要保证列表中的元素之间是可以相互比较的。

  • insert方法,可以将元素插入列表指定的位置。

  • clear方法,可以清空列表中的所有元素。

  • remove 方法可以移除列表中的某个元素, 当元素在列表中重复出现时, 仅移除第1次出现的值。

  • reverse 方法可以将列表中的元素反向存储。

  • index方法,找出列表某个值第一个匹配项的索引位置。

案例:复利计算

复利和单利是两个相对的经济概念。单利的计算不把利息计入本金,而复利是按时间。长短计算出来的利息并入本金中的重复计算。 复利就是复合利息, 把整个借贷期限划分 成多个时间段, 前一时间段按本金计算出来的利息加入本金中, 作为下一时间段计算利息的本金基数。复利的力量是巨大的。

复利现值是指在计算复利的情况下,要达到未来某一特定的资金金额,现在必须投入的本金。

编写程序实现复利现值计算, 假定平均的年回报率是 3%, 存入年限为 5 年, 当用户输入复利终值后,按照复利终值计算现在需投入的本金是多少?每年的本息金额是多少?

****3.4 不可变的序列类型:元组****

****3.4.1 创建元组****

  • 使用 tuple 函数可以将参数中的可迭代对象转换成元组:

  • 使用圆括号 () 创建列表时,需要在列表中列出所有元素,直接使用圆括号 () 将得到一个空的元组:

****3.4.2 多重赋值****

  • 在 Python 中, 允许一次给多个变量赋值, 称为多重赋值。 可以使用元组和列表实现多重赋值:

在使用多重赋值时,赋值符号左边的变量数量和右边的元组或列表的长度必须严格相等,否则将会触发 ValueError 的异常。

****3.4.3 元组特性****

  • 在列表操作中, 除了对列表进行原地修改的方法, 其他方法都可以应用在元组中, 例如索引、分片、连接和重复等。

  • 如果希望得到一个包含单个元素的元组,需要在这一单个元素后面加上一 个逗号,与表达式区分开来。

  • 在不引起二义性的情况下,可以省略圆括号。

但是,如果出现在一个函数调用,或者其他表达式内时,不能省略圆括号。实际上,从代码的可读性来说,不建议省略圆括号。

  • 不可变性,是元组和列表最大的区别。 如果试图修改元组的某个元素, 将会触发 TypeError 的异常。

元组的不可变性仅指的是不可以改变元组的顶层元素。如果元组中的元素本身是可变的(例如,元组中的某个元素是列表),Python 允许修改其内容。

****3.4.4 为什么需要元组****

  • 元组可以作为字典的键或集合的元素,但列表不行。因为列表是可变的。

  • 函数中利用元组传递参数或作为返回值,可以有效地避免被意外修改。

  • 相对于列表,使用元组存储数据时,访问的速度更快。

序列类型的比较

学习Python的过程虽然充满挑战,但每当我解决一个问题或完成一个案例时,那种成就感真的让人欲罢不能!🚀🎯 我相信,只要坚持不懈,我一定能够成为Python大神!💪🌟

希望我的学习笔记能给大家带来一些帮助和启发!😘💖 一起加油,共同进步吧!🤝🚀

python学习

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告