前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重要!理解Python列表索引和切片

重要!理解Python列表索引和切片

作者头像
fanjy
发布2022-04-13 14:11:12
2.3K0
发布2022-04-13 14:11:12
举报
文章被收录于专栏:完美Excel

标签:Python与Excel,pandas

这是一个重要的话题,因为我们将在pandas中大量使用这些技术。Python列表索引和切片是指如何从列表或类似数组的对象中选择和筛选数据。这里讨论的技术也适用于元组。

列表(List)与元组(Tuple)

如果你熟悉VBA或其他编程语言,Python列表和元组基本上都是数组。列表或元组可以包含任何类型的对象/数据,它们之间的区别在于列表是可变的(可以修改),元组是不可变的(不能修改)。

有趣的事实是:String(字符串)对象实际上是一个元组!这意味着你不能修改字符串对象中的单个字母。

准备列表

我们将使用一个简单的列表来演示这些技术。在本文中,我们不需要任何库,只需要纯Python列表操作。注意,Python使用基于0的索引,这意味着索引从0开始,而不是从1开始。

li = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’]

li2 = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’]

图1:Python列表演示

Python列表基本操作

Python列表只有几个内置函数,这里介绍其中的几个:

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

选择项目元素

图2

从列表末尾访问项目元素

图3

切片/选择各种项目

python列表使用符号[n:m]来表示一个“切片”,字面上是指从第n项到第m项的多个连续项。Python列表切片有一种奇怪的表示法:开始项使用基于0的索引,而结束项使用基于1的索引。参阅下面的代码和视觉辅助工具以供参考。

图4

图5

上述切片从第二个元素(1)开始,在第五个元素(5)结束,分别是B和E。

在下列情况下,可以省略起始索引或结束索引:

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

反转列表

有两种方法可以反转列表。一种是内置方法,另一种是通过切片。

注意:

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

图6

合并不同的列表

有两种方法可以合并不同的列表:.extend()方法或只使用+符号。

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

图7

从列表中删除重复值

列表可以包含任何类型的数据项,包括重复项。有几种方法可以删除重复的值,这里将介绍一种更具python风格的方法。为此,我们需要了解另一种数据结构:集(set)。集是不同项的无序集合,使用一对花括号来表示集。

这里的思路是首先将列表转换为一个集(因此保留不同的项),然后将集转换回列表。参见以下示例:

图8

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档