python切片是什么_python列表切片是什么

我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。

在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。

如下面的例子,虽然都是一个元素,但是对象类型是完全不同的:>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[0]

0

>>> alist[0:1]

[0]

通常一个切片操作要提供三个参数 [start_index:  stop_index:  step]start_index是切片的起始位置

stop_index是切片的结束位置(不包括)

step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError。

当 step 是正数时,以list[start_index]元素位置开始, step做为步长到list[stop_index]元素位置(不包括)为止,从左向右截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证 list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置右边,否则取不出元素。

比如下面的几个例子都是合法的:>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[1:5]

[1, 2, 3, 4]

>>> alist[1:-1]

[1, 2, 3, 4, 5, 6, 7, 8]

>>> alist[-8:6]

[2, 3, 4, 5]

当 step 是负数时,以list[start_index]元素位置开始, step做为步长到list[stop_index]元素位置(不包括)为止,从右向左截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证 list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置左边,否则取不出元素。

比如下面的几个例子都是合法的:>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[-1: -5: -1]

[9, 8, 7, 6]

>>> alist[9: 5: -1]

[9, 8, 7, 6]

>>> alist[-1:1:-1]

[9, 8, 7, 6, 5, 4, 3, 2]

>>> alist[6:-8:-1]

[6, 5, 4, 3]

假设list的长度(元素个数)是length, start_index和stop_index在符合虚拟的逻辑位置关系时,

start_index和stop_index的绝对值是可以大于length的。比如下面两个例子:>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[-11:11]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[11:-11:-1]

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

另外start_index和stop_index都是可以省略的,比如这样的形式 alist[:], 被省略的默认由其对应左右边界起始元素开始截取。

看一下具体的实例:>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> alist[:]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cat-grep-sed应用案例

案例&#xff1a; 已知文件test.txt内容为&#xff1a; test liming xiaoming 请打印出test.txt内容时&#xff0c;不包含xiaoming字符串的命令。 创建文件test.txt [roothello110 testdata]# cat >>test.txt<<EOF > test > liming > xiaoming >…

机器学习(一)梯度下降算法的实现及过程分析

机器学习&#xff08;一&#xff09;梯度下降算法 因为算法最好能应用到实际问题中才会让读者感到它的真实的用处&#xff0c;因此首先我来描述一个实际问题&#xff08;梯度下降算法用以帮助解决该问题&#xff09;&#xff1a;给定一个指定的数据集&#xff0c;比如由若干某一…

quick time不可用_那些校园中“不可言说”的鄙视链

原标题&#xff1a;那些校园中“不可言说”的鄙视链俗话说&#xff0c;有人的地方就有江湖&#xff0c;有江湖的地方总有人喜欢论论剑&#xff0c;分个高低&#xff0c;更何况是聚集了五湖四海人群的大学呢&#xff01;今天小U总结出了一篇高校鄙视链大全&#xff0c;快来看看符…

select怎么设置默认值_20200817:详细说下数据倾斜怎么解决?

福哥答案2020-08-17&#xff1a;数据倾斜是大数据领域绕不开的拦路虎&#xff0c;当你所需处理的数据量到达了上亿甚至是千亿条的时候&#xff0c;数据倾斜将是横在你面前一道巨大的坎。很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题。数据倾斜是指&#xff1a;…

邢不行python资源_邢不行—数字货币python量化投资

本帖最后由 ynjie 于 2020-10-14 21:39 编辑课时1.1 什么是量化投资.mp4课时1.2 数字货币市场特点.mp4课时1.3 2018量化炒币7大玩法复盘.mp4课时1.4 量化策略案例&#xff1a;Excel演示定投策略.mp4课时1.5 量化策略案例&#xff1a;Python演示定投策略.mp4课时1.6 量化策略案例…

数据库查询某一列大写转化小写字母表示_基于MySQL数据库下亿级数据的分库分表...

移动互联网时代&#xff0c;海量的用户数据每天都在产生&#xff0c;基于用户使用数据的用户行为分析等这样的分析&#xff0c;都需要依靠数据都统计和分析&#xff0c;当数据量小时&#xff0c;数据库方面的优化显得不太重要&#xff0c;一旦数据量越来越大&#xff0c;系统响…

ASP.NET Core Docker Jenkins 零基础持续集成实战

一.本系列教程说明 源代码管理工具&#xff1a;Gogs 持续集成工具&#xff1a;Jenkins 容器&#xff1a;Docker 二.git管理软件的选择 没有采用gitlab&#xff0c;因为gitlab比较吃配置&#xff0c;至少得2核4G的配置。采用go语言开发的gogs来代替&#xff0c;搭建方便(不到10分…

vs 启动调用的目标发生异常_协程中的取消和异常 | 取消操作详解

在日常的开发中&#xff0c;我们都知道应该避免不必要的任务处理来节省设备的内存空间和电量的使用——这一原则在协程中同样适用。您需要控制好协程的生命周期&#xff0c;在不需要使用的时候将它取消&#xff0c;这也是结构化并发所倡导的&#xff0c;继续阅读本文来了解有关…

java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法&#xff0c;分享给大家&#xff0c;具体如下&#xff1a;HttpURLConnection文件上传HttpURLConnection采用模拟浏览器上传的数据格式&#xff0c;上传给服务器上传代码如下&#xff1a;package com.util;import java…

mkdir-yum-tree命令应用案例

案例&#xff1a; 请用一条命令完成目录创建/hello/world/test 解答&#xff1a; mkdir -p /hello/world/test -p 递归创建目录&#xff0c;没有子目录创建。 案例&#xff1a; 打印hello/目录的结构 [roothello110 ~]# tree hello/ -bash: tree: command not found 发…

pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...

作者&#xff1a;陈洪瀚 /洪瀚笔记知乎专栏摘要&#xff1a;介绍了使用PyTorch和torchvision加载训练好的全卷积网络FCN或DeepLab模型&#xff0c;并对PASCAL VOC图像进行分割并显示结果。网址&#xff1a;github代码链接, 码云代码链接陈洪瀚​www.zhihu.com一. 准备实验数据下…

python selenium chrome获取每个请求内容_python+selenium调用chrome打开网址获取内容

通过selenium库&#xff0c;python可以调用chrome打开指定网页并获取网页内容或者模拟登陆获取网页内容1&#xff0c;安装selenium和配置chromedriver安装seleniumC:\Users\cord> pip install selenium配置chromedriver该下载什么版本根据浏览器版本以及附录的版本对照表下载…

系统目录结构 ls命令 文件类型 alias命令

2019独角兽企业重金招聘Python工程师标准>>> 2.1/2.2 系统目录结构 /bin&#xff1a;bin是Binary的缩写&#xff0c;该目录下存放的是最常用的命令。 /boot&#xff1a;该目录下存放的是启动Linux时使用的一些核心文件&#xff0c;包括一些连接文件以及镜像文件。 …

运维老鸟教你安装centos6.5如何选择安装包

原文&#xff1a;http://oldboy.blog.51cto.com/2561410/1564620 ------------------------------------------------------------------------------ 近来发现越来越多的运维小伙伴们都有最小化安装系统的洁癖,因此&#xff0c;找老男孩来咨询&#xff0c;这个“洁癖”好习惯…

服务器centos怎么部署_我什么都不会,怎么拥有自己的个人博客呢

博客每个人都想拥有一个属于自己的博客&#xff0c;可以分享自己的心得、技术等&#xff0c;可以很好地展示自己的作品&#xff0c;但是自己又什么都不会怎么才能拥有自己的个人博客呢&#xff1f;一、搭建个人博客需要什么呢(1)购买服务器&#xff0c;个人博客可以购买香港服务…

java 过滤器 过滤文件中的文件_Java 使用FileFilter过滤器对文件进行搜索

FileFilter概述java.io.FileFilter是一个接口&#xff0c;是File的过滤器。该接口的对象可以传递给File类的listFiles(FileFilter filter)作为参数&#xff0c;FileFilter接口中只有一个方法。boolean accept(File pathname):测试pathname是否应该包含在当前File目录中&#xf…

修改yum的镜像服务器为阿里云

1、进入阿里云镜像网站 http://mirrors.aliyun.com/ 2、选择centos---help 3、安装help里的步骤进行操作 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /e…

面试记录

东信北邮 智能终端开发工程师 笔试部分 首先去做了一套笔试题&#xff0c;前面选择题都是android基础&#xff0c;后面是sql语句。 有一个问题说的是runtime exception&#xff0c;有四个选项&#xff1a; a. ArithmeticException b. lllegalArgumentException c. NullPointerE…

python有类似mybatis的框架_为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?...

892019-03-30 21:23:21 08:00 1看了这么多回复。忍不住了&#xff01;1. hibernate 历史悠久并不代表过时&#xff0c;mybatis 这种方式就是未来吗&#xff1f;肯定不是。数据库就是用来存数据的&#xff0c;联表查询一大堆只能说明数据结构设计是有问题的&#xff0c;只是不…

c# 模拟登陆 webbrowser 抓取_《VR+电力——更换绝缘子培训》已登陆Pico Neo 2

原标题&#xff1a;《VR电力——更换绝缘子培训》已登陆Pico Neo 2