Python中切片的理解

https://blog.csdn.net/u011242657/article/details/56289429

L=list(range(10))#L中的元素是0-9

L[n1:n2:n3] :

n1代表开始元素下标,不写就是从头,这个要看n3的符号,n3是负的,那就是从最右边,正,从最左边。

n2代表结束元素下标,不写就是到结束,同上

n3代表切片间隔以及切片方向,不写就是默认1 ,如-2 表示:切片从后往前,间隔为2

L中每个元素都有正负两种下标,正数从L[0]开始,表示第一个元素。倒数L[-1]表示倒数第一个元素。L[0]和L[-10]指的同一个元素都是0

无论L[0]还是L[-10] ,我觉得可以这么理解:你先把负数转换成正数。

比如:L[0:-2:2]  表示:从index=0的元素,到第(10-2)即index=8的元素。正切片,每隔2个。记住,不包含最后一个元素

所以结果是{1,3,5,7]

如果想倒过来怎么办?

L[-2:0:-2] 可行吗?不行的。因为他把倒过来的index=0舍弃了。还包含了index=-2 即 index=8的元素

你得这样:

也可以这样

原文地址:https://www.cnblogs.com/lhuser/p/9125464.html

时间: 2024-11-09 18:11:19

Python中切片的理解的相关文章

关于Python中的列表理解及用法

在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典.本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解. Python中的for循环 Python中的for循环语句按顺序遍历任何对象.列表.字符串等的成员.与其他编程语言相比,它的语法更加简洁,不需要手工定义迭代步骤,也不需要开始迭代.尽管有几种方法可以使它的行为与其他编程语言相同(本文将不详细讨论).还可以使用continue.break.pass等语句控制f

python中的self理解

前言 先介绍下类和实例 面向对象最重要的概念就是类(class)和实例(instance),类时抽象的模板,比如学生这个抽象的事物,可以用一个student类来表示.而实例时根据类创建出来的一个个具体的"对象",每一个对象都从类中继承有相同的方法,但各自的数据可能不同(根据各自的参数来定). 1 class Student(object): 2 pass 1)定义了Student类 (object)表示该类从那个类继承下来的,object类是所有类都会继承的类 1 student=St

深入理解python(一)python语法总结:基础知识和对python中对象的理解

用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会把数据结构的实现.函数调用过程.以及python虚拟机的基本原理根据源码解释下. 当然限于笔者只是一个弱鸡,,,如内容有疏漏的地方或者是一些错误,希望看到的大佬不吝赐教. 第一部分 python语法总结 当然如果对python语法还是一无所知的同学请移步缪雪峰或者菜鸟教程等学习网站看一遍再过来,,,

python中HTMLParser简单理解

找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间.名称和地点. 1 from html.parser import HTMLParser 2 from html.entities import name2codepoint 3 4 class MyHTMLParser(HTMLParser): 5 6 in_title = False 7 in_loca

关于python中多态的理解。

学习到多态的时候,不确定自己是否完全理解了python的多态,于是Google观看了众多资料和文献,发现很多编程大佬讲得过于抽象,不便于新手理解,这违背了python的初衷:简单. 所以我在此用通俗一点的方式作了一个总结. 先贴一段代码,在python3中举例: (为了给非科班出身以及中学英语偏科的python学习者更友好的阅读体验,w3n特意添加了中文注释,可以不细看代码,通过注释阅读,主要目的是逻辑理解,代码次要) class Human(object):  # 创建"人"类 de

Python中ThreadLocal的理解与使用

一.对 ThreadLocal 的理解 ThreadLocal,有的人叫它线程本地变量,也有的人叫它线程本地存储,其实意思一样. ThreadLocal 在每一个变量中都会创建一个副本,每个线程都可以访问自己内部的副本变量. 二.为什么会出现 ThreadLocal 的技术应用 我们知道多线程环境下,每一个线程均可以使用所属进程的全局变量.如果一个线程对全局变量进行了修改,将会影响到其他所有的线程对全局变量的计算操作,从而出现数据混乱,即为脏数据.为了避免逗哥线程同时对变量进行修改,引入了线程同

对于Python中RawString的理解

总结 1.'''作用: 可以表示 "多行注释" ."多行字符串" ."其内的单双引号不转义" 2.r 代表的意思是: raw 3.r 只对其内的反斜杠起作用(注意单个 \ 的问题) raw string 有什么用处呢? raw string 就是会自动将反斜杠转义. >>> print('\n') >>> print(r'\n') \n >>> (注:出现了两个空行是因为 print() 会自

python 中函数的理解 一

#定义第一个函数def hello():    print "hello world!" res=hello()res >>>hello  world! #关键字函数 #因为python是动态语言所以函数的参数获得的值往往会安置倒位 甚至有时候还有默认函数 def foo(x,y):    print x,yprint foo(y='56',x=49) >>>49  56#如上所示即使参数的传递顺序不也木有关系 #默认参数def foo(host='

对于Python中的__call__理解

在看源码的时候看到__call__不是很明白原理,所以在这里记录下 通常来说__call__的调用时实例后面的"()"引起的他自身的调用,但是如果只是将一个类复制给一个变量,调用的时候就有可能出现错误 比如: class Test:     List = []     def __init__(self, low, high):         for Num in range(low, high):             self.List.append(Num ** 2)