Python 切片(slice)的扩展使用方法

# -*- coding: utf-8 -*-
__author__ = 'xy'

#切片(slice)的扩展使用方法

#1 用步长索引来进行扩展的切片操作
# slice[1:2:3]其中第3个位置表示步长,默认为1

#简单的str翻转:
s = 'abcde'
print s[::-1]
# >>>'edcba'

#间隔一个字符取值:
print s[::2]
# >>>'ace'

#2 切片索引不越界
print ('a', 'b', 'c')[-100:100]
# >>>('a','b','c')

#3 [None]对for循环的增强:
#每次循环把最后一个字符干掉:
s = 'abcde'
i = -1
for i in range(-1, len(s), -1):
    print s[:i]
# >>>
# abcd
# abc
# ab
# a
#如果想要第一次的时候完整输出'abcde',一般需要在for前增加一条print语句
#看下面改进:
s = 'abcde'
for i in [None]+range(-1, -len(s), -1):
    print s[:i]
# >>>
# abcde
# abcd
# abc
# ab
# a

时间: 2024-10-16 19:41:32

Python 切片(slice)的扩展使用方法的相关文章

关于javascript里面仿python切片操作数组的使用方法

其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用xxx in range(): ...跪.:( ) 而是我觉得字符串操作的切片真实让我感到前所未有的爽. 试想一下,我们平时操作最多的数组和字符串在切片的帮助下,不知道可以省去多少时间和麻烦.而且有了切片甚至不用去记很多可以被切片代替的api. 今天我在啃<学习javascript数据结构与算法>

Python~切片Slice

      [:] [:10] [-10:]       [':10:2]                                  

《扩展和嵌入python解释器》1.4 模块方法表和初始化函数

<扩展和嵌入python解释器>1.4 模块方法表和初始化函数 1.4 模块方法表和初始化函数 下面,我演示如何从Python程序调用spam_system().首先,我们需要在’方法表’列出名称和地址: [cpp] view plaincopy static PyMethodDef SpamMethods[] = { ... {"system",  spam_system, METH_VARARGS, "Execute a shell command."

(一)Python入门-2编程基本概念:16字符串-切片slice操作-逆序

一:字符串切片slice操作 切片 slice 操作可以让我们快速的提取子字符串.标准格式为: [起始偏移量start:终止偏移量end:步长 step] 典型操作(三个量为正数的情况)如下: 操作和说明 示例 结果 [:] 提取整个字符串 “abcdef”[:] “abcdef” [start:]从start 索引开始到结尾 “abcdef”[2:] “cdef” [:end]从头开始直到end-1 “abcdef”[:2] “ab” [start:end]从start 到 end-1  “a

python切片

假设有一个list,要对其进行截取操作 L = ['Michael', 'Smith', 'Jobs', 'John'] 首先分别取出其中的值,我们可以像PHP中操作数组一样取值 可见,此种方法可以取出L的值.值得注意的是,索引同PHP Array一样从0开始 如果想取出L中前3个元素,也可以使用for循环来处理 用这种方法,取出了要求的结果.但是python提供了一种更方便简洁的操作,就是切片(slice).下面来演示如果使用切片来获取L中的前三个元素 仅仅用L[0:3]就达到了同for操作一

Python列表操作的函数和方法

http://www.jb51.net/article/47978.htm 列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. Python列表操作的函数和方法列表操作包含以下函数:1.cmp(list1, list2):比较两个列表的

Effective Python之编写高质量Python代码的59个有效方法

                                                     这个周末断断续续的阅读完了<Effective Python之编写高质量Python代码的59个有效方法>,感觉还不错,具有很大的指导价值.下面将以最简单的方式记录这59条建议,并在大部分建议后面加上了说明和示例,文章篇幅大,请您提前备好瓜子和啤酒! 1. 用Pythonic方式思考 第一条:确认自己使用的Python版本 (1)有两个版本的python处于活跃状态,python2和pyt

Golang 入门 : 切片(slice)

切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合.切片是围绕动态数组的概念构建的,可以按需自动增长和缩小.切片的动态增长是通过内置函数 append() 来实现的,这个函数可以快速且高效地增长切片,也可以通过对切片再次切割,缩小一个切片的大小.因为切片的底层也是在连续的内存块中分配的,所以切片还能获得索引.迭代以及为垃圾回收优化的好处.本文将介绍 Golang 切片的基本概念和用法,演示环境为 ubuntu 18.04 & go1.10.1. 切

数组array和切片(slice)的区别

一 数组简介: 数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值.在初始化后长度是固定的,无法修改其长度.当作为方法的参数传入时将复制一份数组而不是引用同一指针.数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度.注意:和C中的数组相比,又是有一些不同的 1. Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份2. 如果Go中的数组作为函数的参数,那么实际传递的参数是