首页
学习
活动
专区
圈层
工具
发布

python numpy数组切片_python列表切片详解

大家好,又见面了,我是你们的朋友全栈君。 python的数组切片操作很强大,但有些细节老是忘,故写一点东西记录下来。...在python&numpy中切片(slice) 对于一维数组来说,python的list和numpy的array切片操作都是相似的。...无非记住 arr[start:end:step] 即可 下面是几个特殊的例子 [:]表示复制源列表 负的index表示,从后往前。-1表示最后一个元素。...[:,0] # 取第0列的数据,以行的形式返回的 out: array([0, 4, 8]) in:arr[:,:1] # 取第0列的数据,以列的形式返回的 out: array([[0], [4],...[8]]) 取一个数据块 取第一维的索引1到索引2之间的元素,也就是第二行 取第二维的索引1到索引3之间的元素,也就是第二列和第三列 in:arr[1:2, 1:3] out: array([[5, 6

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python入门-列表的索引和切片

    列表操作 列表和之前介绍的数据类型字符串一样,都是有序的数据结构,存在索引和切片的概念。通过给定的索引号或者使用切片,我们就可以获取我们想要的数据。...在本文将会详细介绍Python中索引和切片的使用。 索引 在python中,索引可正可负。正索引表示从左边的0开始,负索引表示从右边的-1开始。 在列表中,元素的索引表示的就是该元素在列表中的位置。...在上面创建的列表中,部分元素是重复的,比如56789,我们使用index来查看它们的位置: number.index(-1) 0 number.index(6) # 多次出现的话,只显示第一次出现的索引位置...7, 9, 5] number[3:-3:] [3, 4, 5, 6, 7, 8, 9, 10, 5, 6] number[4:-1:2] [4, 6, 8, 10, 6, 8] 使用负步长 上面的切片操作中步长都是整数...通过del关键字来删除列表中一部分数据;删除列表中的部分数据不改变其在内存的地址 number [-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 25, 30, 35, 40,

    1.2K20

    python中如何用列表+yield打破内卷的递归

    前言 一切要从小伙子在python学习网站上的一道练习题说起。题目如下: 简单说,就是打印一个文件夹下,所有文件名字,包括所有子文件夹中的文件。如果只是用 python 提供的内置模块,是非常容易。...当函数中再次调用自身,即为递归 小伙在自己电脑上验证一番,发现确实可以达到要求。自信满满上传到网站上,却提示:"调用栈溢出!" 这就是递归的缺点,太内卷(内耗严重)了。...这是递归的退出条件,必须保证递归存在退出条件,否则就是死循环 在 python 中,函数的调用信息保存在一个叫帧的东西里面,我以前就有相关文章讲解,相关链接放在文末 这就是调用栈发挥作用的时候。...显然第一个任务就是传进来的文件夹路径 行5:使用 while 循环,条件是所有任务都处理完毕(任务列表为空) 行7:循环里面,每次取出一个任务(文件夹路径),得到该文件夹中的所有路径 行13:如果是文件夹路径...,那就是一个新的任务,直接放进去任务列表中(stack) 小伙子非常满意,感觉自己的 python 水平大幅提升。

    2.3K20

    Python 索引与切片之列表

    索引与切片之列表 什么是索引 字符串,列表和元组 从最左边记录的位置就是索引 索引用数字表示,起始从0开始 字符串,列表(元组)的最大索引是他们的长度-1 什么是切片 索引用来对单个元素进行访问,切片则对一定范围内的元素进行访问...切片通过冒号在中括号内把相隔的两个索引查找出来 [0:10] 切片规则为: 左含右不含 列表的索引,获取与修改 list[index] = new_item为索引更改变量 数据的修改只能在存在的索引范围内...删除列表的第几个索引 函数会删除该索引的元素并返回 如果传入的index索引不存在则报错 通过del删除索引 del list[index] 直接删除 无返回值 如果index(索引)不存在则报错 索引在元组中的特殊性...可以和列表一样获取索引与切片索引 元组函数index和列表用法完全一致 无法通过索引修改与删除元素 代码 # coding:utf-8 numbers = [1, 2, 3, 4, 5, 6, 7,...('步长获取切片:', numbers[0: 8: 2]) print('切片生成空列表', numbers[0:0]) new_numbers = numbers[:4] print(new_numbers

    99920

    python 基础 切片 迭代 列表生成式

    对list 进行切片   如列表     L = ['Adam', 'Lisa', 'Bart', 'Paul']     L[0:3]     ['Adam', 'Lisa', 'Bart']     ...把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple   倒序切片     对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:       ...索引迭代     Python中,迭代永远是取出元素本身,而非元素的索引。     对于有序集合,元素确实是有索引的。...但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,       所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存...64, 100]       有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。

    1.1K100

    理解Python列表索引和切片

    标签:Python与Excel,pandas 这是一个重要的话题,因为我们将在pandas中大量使用这些技术。Python列表索引和切片是指如何从列表或类似数组的对象中选择和筛选数据。...这意味着你不能修改字符串对象中的单个字母。 准备列表 我们将使用一个简单的列表来演示这些技术。在本文中,我们不需要任何库,只需要纯Python列表操作。...Python列表基本操作 Python列表只有几个内置函数,这里介绍其中的几个: append():将项目元素添加到列表中 extend():向列表中添加项目元素。...选择项目元素 图2 从列表末尾访问项目元素 图3 切片/选择各种项目 python列表使用符号[n:m]来表示一个“切片”,字面上是指从第n项到第m项的多个连续项。...Python列表切片有一种奇怪的表示法:开始项使用基于0的索引,而结束项使用基于1的索引。参阅下面的代码和视觉辅助工具以供参考。

    3.3K20

    - 列表的索引与切片

    ,所以报错⭐️ 什么是切片?...索引用来对单个成员(元素)进行访问,切片则是对一定范围内的成员(元素)进行访问切片通过冒号的方式在中括号内把相隔的两个索引位置范围内的成员(元素)找出来,如 [0:10]切片的规则:左含,右不含; 左边包含...,右边不包含通过切片方式获取的完整的列表已经不再是原来的列表了,即使获取的是原来列表的完整的内容示例如下:num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]print(...]# >>> names 列表完整的内容是: ['Neo', 'Jack', 'Adem']通过切片方式获取的完整的列表已经不再是原来的列表了,即使获取的是原来列表的完整的内容,示例如下:names =...- 索引错误:列表的索引分配超出列范围)# >>> IndexError: list assignment index out of range 索引在元组中的特殊性可以和列表 一样获取索引与切片索引元组函数

    84421

    如何有效地处理 Python 列表切片

    Python列表切片是一种高效的操作,它可以让我们从原始列表中提取一部分元素,形成一个新的列表。下面就是我遇到得问题得一些解决方法,现在完整得记录下来,共大家一起查看。...1、问题背景在 Python 中,列表切片是一个非常重要的操作。它允许我们从列表中提取一个连续的子列表。然而,列表切片有一个潜在的效率问题:每次进行列表切片时,都会创建一个新的列表。...以下代码展示了一个使用递归来求列表中所有元素和的函数:def listSum(alist): """Get sum of numbers in a list recursively."""...首先,迭代器只能向前遍历集合中的元素。其次,迭代器不能被索引。如果我们需要对列表进行随机访问,那么我们就不能使用迭代器。在这种情况下,我们可以使用列表切片。...列表切片的视图与列表切片非常相似,但是它不会创建一个新的列表。

    39010

    Python中list的切片操作

    blog.csdn.net/Quincuntial/article/details/89674803 文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. list的切片操作...Python中可以对list使用索引来进行切片操作,其语法(Python3)如下: a[:] # a copy of the whole array a[start:]...# 从索引为1的列表元素开始迭代列表至列表结束 [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:9] # 从索引为0的列表元素开始迭代列表至索引为8的列表元素,不包含索引为9的列表元素...2,直至列表结束 [0, 2, 4, 6, 8] >>> a[3:9:2] # 从索引为3的列表元素开始索引列表,每次迭代索引值加2,直至索引为8的列表元素,不包含索引为9的列表元素 [3, 5, 7]...1] # 从列表的第一个元素直至列表的倒数第二个元素结束,不包含最后一个列表元素 [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> a[:-2] # 从列表的第一个元素直至列表的倒数第三个元素结束

    1.2K20

    Python中的引用和切片

    # 引用和切片造成的不同影响 当你创建了一个对象并将其分配给某个变量时,变量只会查阅(Refer)某个对象,并且它也 不会代表对象本身。...也就是说,变量名只是指向你计算机内存中存储了相应对象的那一部 分。这叫作将名称绑定(Binding)给那一个对象。...一般来说,你不需要去关心这个,不过由于这一引用操作困难会产生某些微妙的效果,这是 需要你注意的: '''如果直接引用对象的话,对mylist操作也会影响到原本的shoplist 如果想要不影响原本的,必须引用的是对象的切片...mylist = shoplist # 我购买了第一项项目,所以我将其从列表中删除 del shoplist[0] print('shoplist is', shoplist) print('mylist...by making a full slice') # 通过生成一份完整的切片制作一份列表的副本 mylist = shoplist[:] # 删除第一个项目 del mylist[0] print('

    1K20

    【Python】序列 - 数据容器 ( 序列简介 | 序列切片 | 省略 起始坐标 结束坐标 步长 切片 | 列表切片 | 字符串切片 | 元组切片 | 步长 -1 的切片 )

    一、序列简介 序列 指的是 内容 连续 , 有序 , 可以使用 下标索引 访问 的 数据容器 ; 之前介绍的 列表 list , 元组 tuple , 字符串 str , 都是序列 ; 序列 可以 使用...正向 索引下标 访问 , 也可以使用 反向 索引下标 访问 ; 二、序列切片 序列 的 切片操作 指的是 从 一个序列中 , 获取一个 子序列 ; 列表 list , 元组 tuple , 字符串...序列切片操作 , 不会影响原来的序列 , 而是得到一个新的序列 ; 序列切片语法 : 序列变量后 , 使用 中括号 [] 进行切片操作 , 在 中括号中 分别给出 起始下标索引 , 结束下标索引 , 步长...1、代码示例 - 省略 起始坐标 / 结束坐标 / 步长 代码示例 : """ 序列切片 代码示例 """ # 列表 切片 my_list = [0, 1, 2, 3, 4, 5] # I....、代码示例 - 完整版 代码示例 : """ 序列切片 代码示例 """ # 列表 切片 my_list = [0, 1, 2, 3, 4, 5] # I.

    81510

    【Python】掌握Python中的索引和切片

    在Python中,像字符串或列表这样的有序序列的元素可以通过它们的索引单独访问。这可以通过提供我们希望从序列中提取的元素的数字索引来实现。...另外,Python支持切片,这是一个特性,可以让我们提取原始sequence对象的子集。 在本文中,我们将探讨索引和切片是如何工作的,以及如何使用它们来编写更干净、更具python风格的代码。...要在Python中对序列执行切片,需要提供两个由冒号分隔的偏移量,尽管在某些情况下可以只定义其中一个,甚至不定义(下面将讨论更多关于这些情况的内容)。...这对字符串之类的不可变对象类型没有任何区别,但是在处理列表之类的可变对象类型时,注意这一点非常重要。 扩展切片 Python中的切片表达式附带了第三个索引,该索引是可选的,指定时用作步骤。...结论 在本文中,我们探讨了在Python中索引和切片是如何工作的。这两种符号在大多数Python应用程序中都被广泛使用,因此你需要确保了解它们是如何工作的。

    1.7K30

    python中的列表

    鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或names)是个不错的主意。在python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。...2.索引从0而不是1开始在python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,这与列表操作的底层实现相关。如果结果出乎意料,请看看你是否犯了简单的差一错误。...[3])这些代码返回列表中的第二个和死四个元素:  cannondale specialized python为访问最后一个列表元素提供了一种特殊语法。...2.在列表中添加元素 你可能出于众多原因要在列表中添加新元素,例如,你可能希望游戏中出现新的外星人、添加可视化数据或给王振添加新注册的用户。python提供了多种在既有列表中添加新数据的方式。...接下来,使用这个变量来告诉python将哪个值从列表中删除。

    9.3K30
    领券