理解Python列表索引和切片,将在pandas中大量使用

2022-04-1121:02:29编程语言入门到精通Comments1,814 views字数 1283阅读模式

Python列表索引和切片是指如何从列表或类似数组的对象中选择和筛选数据。这里讨论的技术也适用于元组。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

列表(List)与元组(Tuple文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

如果你熟悉VBA或其他编程语言,Python列表和元组基本上都是数组。列表或元组可以包含任何类型的对象/数据,它们之间的区别在于列表是可变的(可以修改),元组是不可变的(不能修改)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

有趣的事实是:String(字符串)对象实际上是一个元组!这意味着你不能修改字符串对象中的单个字母。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

准备列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

我们将使用一个简单的列表来演示这些技术。在本文中,我们不需要任何库,只需要纯Python列表操作。注意,Python使用基于0的索引,这意味着索引从0开始,而不是从1开始。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

li = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

li2 = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图1:Python列表演示文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

Python列表基本操作文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

Python列表只有几个内置函数,这里介绍其中的几个:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

  • append():将项目元素添加到列表中
  • extend():向列表中添加项目元素。append和extend的区别,append添加1个项目,extend添加一个列表。
  • remove():从列表中删除项目元素。
  • pop():从列表中删除最后一项元素,并将其返回。
  • insert():在列表中插入一项元素。
  • index():返回元素的索引。

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

选择项目元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

从列表末尾访问项目元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

切片/选择各种项目文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

python列表使用符号[n:m]来表示一个“切片”,字面上是指从第n项到第m项的多个连续项。Python列表切片有一种奇怪的表示法:开始项使用基于0的索引,而结束项使用基于1的索引。参阅下面的代码和视觉辅助工具以供参考。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

上述切片从第二个元素(1)开始,在第五个元素(5)结束,分别是B和E。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

在下列情况下,可以省略起始索引或结束索引:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

  • 从开头开始:li[:5],返回前5项:['A','B','C','D','E']
  • 以最后一项结尾:li[5:],返回最后5项:['F','G','H','I','J']
  • 也可以使用li[:],这是完整的列表,就像li一样

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

反转列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

有两种方法可以反转列表。一种是内置方法,另一种是通过切片。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

注意:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

  • .reverse()方法覆盖原始列表。
  • 切片不会覆盖原始列表,因为它返回列表的“切片”

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

合并不同的列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

有两种方法可以合并不同的列表:.extend()方法或只使用+符号。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

  • extend()方法合并两个列表,然后将结果列表赋值给原始列表。
  • +符号也合并两个(或多个)列表,但不会覆盖原始列表。

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

从列表中删除重复值文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

列表可以包含任何类型的数据项,包括重复项。有几种方法可以删除重复的值,这里将介绍一种更具python风格的方法。为此,我们需要了解另一种数据结构:集(set)。集是不同项的无序集合,使用一对花括号来表示集。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

这里的思路是首先将列表转换为一个集(因此保留不同的项),然后将集转换回列表。参见以下示例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

理解Python列表索引和切片,将在pandas中大量使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

图8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

注:本文学习整理自pythoninoffice.com。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/23958.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/23958.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定