python 切片和range()用法说明

理解切片基本用法:

首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的。
>>> astring = 'Hello world'
>>> astring[0:2]
'He'
>>>
可见,这种情况下,给切片操作一个起始位置,和一个终止位置,则显示从起始位置开始(包括起始位置)到终止位置(不包括终止位置)之间的内容;

在有负数索引的情况下,是类似的,只要确定终止位置的内容:

>>> astring[0:-1]
'Hello worl'
>>>

>>> astring
'Hello world'
>>> astring[0::1]
'Hello world'
>>> astring[0::2]
'Hlowrd'
>>> astring[0::3]
'Hlwl'
>>> astring[0::4]
'Hor'
>>>
在有三个参数的情况下,第一个起始位置,第二个是终止位置,地三个是步长。

测试程序:
# 首先理解切片含义,如下为切片程序结果演示
>>> s='abcde'
>>> s[:0]
''
>>> s[0:]
'abcde'
>>> s[1:]
'bcde'
>>> s[2:]
'cde'
>>> s[:3]
'abc'

理解range()基本用法:

测试程序一:

>>> range(1,5) # 输出从1到5的结果。包括头,不包括尾.
[1, 2, 3, 4]
>>> range(1,5,2) # 输出从1到5,间隔距离为2的结果。包括头,不包括尾.
[1, 3]
>>> range(5) # 输出从0到5的结果。默认起止为0。包括头,不包括尾.
[0, 1, 2, 3, 4]

测试程序二:

>>> s='abcde'
>>> i = -1
>>> for i in range(-1,-len(s),-1): # 输出结果
...     print s[:i]
...
abcd
abc
ab
a

测试程序三:

>>> s='abcde'
>>> for i in range(len(s),0,-1): # 输出结果
...     print s[:i]
...
abcde
abcd
abc
ab
a

测试程序四:

>>> s='abcde'
>>> for i in [None] + range(-1,-len(s),-1): # 用None作为索引值的输出结果
...     print s[:i]
...
abcde
abcd
abc
ab
a

另外,range可以直接给list变量赋值:
elements = range(0, 6)

(0)

相关推荐

  • Python中序列的修改、散列与切片详解

    前言 本文主要给大家介绍了关于Python中序列的修改.散列与切片的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. Vector类:用户定义的序列类型 我们将使用组合模式实现 Vector 类,而不使用继承.向量的分量存储在浮点数数组中,而且还将实现不可变扁平序列所需的方法. Vector 类的第 1 版要尽量与前一章定义的 Vector2d 类兼容. Vector类第1版:与Vector2d类兼容 Vector 类的第 1 版要尽量与前一章定义的 Vector2d

  • Python字符串切片操作知识详解

    一:取字符串中第几个字符 print "Hello"[0] 表示输出字符串中第一个字符 print "Hello"[-1] 表示输出字符串中最后一个字符 二:字符串分割 print "Hello"[1:3] #第一个参数表示原来字符串中的下表 #第二个阐述表示分割后剩下的字符串的第一个字符 在 原来字符串中的下标 这句话说得有点啰嗦,直接看输出结果: el 三:几种特殊情况 (1)print "Hello"[:3] 从第一个字

  • Python切片用法实例教程

    本文以实例形式讲述了Python中切片操作的用法,分享给大家供大家参考借鉴,具体如下: 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 取前3个元素,应该怎么做呢? 比较笨的办法如下: >>> [L[0], L[1], L[2]] ['Michael', 'Sarah', 'Tracy'] 之所以是笨办法是因为扩展一下,取前N个元素就

  • Python列表切片用法示例

    本文实例讲述了Python列表切片用法.分享给大家供大家参考,具体如下: Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组. 格式:[start:end:step] start:起始索引,从0开始,-1表示结束 end:结束索引 step:步长,end-start,步长为正时,从左向右取值.步长为负时,反向取值 注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引 a=[1,2,3,4,5,6] b1=a[:] #省略全部,代表截取全部

  • 通过源码分析Python中的切片赋值

    本文主要介绍的关于Python切片赋值的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 昨天有同学问了我这么个问题: t = [1, 2, 3] t[1:1] = [7] # 感谢@一往直前 的疑问,之前写为 t[1:1] = 7了 print t # 输出 [1, 7, 2, 3] 这个问题之前还真没遇到过,有谁会对列表这么进行赋值吗?不过对于这个输出结果的原因确实值得去再了解下,毕竟之前也看过<Python源码分析>.(题外话:据说最近有大牛在写新的版本) 想着今天有空看看P

  • 深入解析Python中的list列表及其切片和迭代操作

    有序列表list >>> listTest = ['ha','test','yes'] >>> listTest ['ha', 'test', 'yes'] len()获取list元素个数. >>> len(listTest) 3 可以用索引来访问每一个元素,0表示第一个,-1还可以表示最后一个,即倒数第一个,依此类推-2表示倒数第二个,超过了也会报越界错误. >>> listTest[0] 'ha' >>> lis

  • Python切片知识解析

    切片原型 strs = 'abcdefg' Strs[start: end:step] 切片的三个参数分别表开始,结束,步长 第一位下标为0,end位不取,如strs[1:3] = 'bc' 如果start,end超出现有数组范围,按实际范围截断strs[-100:100]='abcdefg' Step为空时,缺省值为1 Strs[1:5] = 'bcde' strs[1:5:2] = 'bd' Step为正时,start<end,否则为空 Strs[5:1] = '' Start为空,默认为负

  • 彻底理解Python list切片原理

    关于list的insert函数 list#insert(ind,value)在ind元素前面插入value 首先对ind进行预处理:如果ind<0,则ind+=len(a),这样一来ind就变成了正数下标 预处理之后, 当ind<0时,ind=0,相当于头部插入  当ind>len(a)时,ind=len(a),相当于尾部插入 切片实例 Python中的列表切片非常灵活,要根据表象来分析它的内在机理,这样用起来才能溜. 下标可以为负数有利有弊,好处是使用起来更简便,坏处是当我下表越界了我

  • python 切片和range()用法说明

    理解切片基本用法: 首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的.>>> astring = 'Hello world'>>> astring[0:2]'He'>>> 可见,这种情况下,给切片操作一个起始位置,和一个终止位置,则显示从起始位置开始(包括起始位置)到终止位置(不包括终止位置)之间的内容: 在有负数索引的情况下,是类似的,只要确定终止位置的内容: >>> astring[0

  • Python切片工具pillow用法示例

    本文实例讲述了Python切片工具pillow用法.分享给大家供大家参考,具体如下: 切片:使用切片将源图像分成许多的功能区域 因为要对图片进行切片裁剪,所以用到切片工具必不可少,在ubuntu下有很多的图片处理工具,如 GIMP(Ubuntu的下的Photoshop),shotwell,shotter等等. 但是我想吧一张图片剪裁下来,用那些工具不怎么方便(其实可能是我没有找到而已),于是上网搜索资料,发现各式各类的工具,其中发现了pollow这款工具. 算是Python下的一个模块吧,这个模

  • Python切片索引用法示例

    本文实例讲述了Python切片索引用法.分享给大家供大家参考,具体如下: 在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式: [],[:],[::] 访问某一数据元素的语法如下: sequence[index] sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1:使用负索引的时候,其范围为-len(sequence) <=index <

  • Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】

    本文实例讲述了Python列表原理与用法.分享给大家供大家参考,具体如下: 列表的基本认识 列表简介 列表的创建 基本语法[]创建 list()创建 range()创建整数列表 推导式生成列表(简介一下,重点在 for 循环后讲) 列表元素的增加 append()方法 +运算符操作 extend()方法 insert()插入元素 乘法扩展 列表元素的删除 del 删除 pop()方法 remove()方法 列表元素访问和计数 通过索引直接访问元素 index()获得指定元素在列表中首次出现的索引

  • Python 中的range(),以及列表切片方法

    range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子 首先来看一下函数原型,非常简单: range(start,end [,step]) 或者连start都省略掉: range(end) 其中,start表示开始点,end表示结束点,真正结束的位置是end的前一个值,step表示步长. 例如: print(list(range(1,5))) #list函数是将range的值列表化,这时候的输出为 1,2,3,4 (没有5!即不包括最后一个end的值) pri

  • python开发中range()函数用法实例分析

    本文实例讲述了python开发中range()函数用法.分享给大家供大家参考,具体如下: python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions 下面是我做的demo: #

  • Python学习笔记基本数据结构之序列类型list tuple range用法分析

    本文实例讲述了Python学习笔记基本数据结构之序列类型list tuple range用法.分享给大家供大家参考,具体如下: list 和 tuple list:列表,由 [] 标识: 有序:可改变列表元素 tuple:元组,由 () 标识: 有序:不可改变元组元素(和list的主要区别) list 和 tuple 的创建: print([]) # 空list print(["a",1,True]) # 元素类型不限 print([x for x in range(0,6)]) #

  • python切片及sys.argv[]用法详解

    一.python切片 a=a[::-1] 倒序 a=a[1:10:2] 下标1~10,以2间隔取 a=a[::2] 2间隔返回a[:] a=[1,2,3,4,5,6,7] print(a[::2]) [1,3,5,7] 二.sys.argv[]用法 Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始. 例: import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为

  • Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i range () 函数的使用是这样的: range(start, stop[, step]),分别是起始.终止和步长 range(3)即:从0到3,不包含3,即0,1,2 >>> for i in range(3): print(i) 0 1 2 range(1,3) 即:从1到3,不包含3,

随机推荐