python高级特性-切片

在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。

List切片

>>> L = [‘Michael‘, ‘Sarah‘, ‘Tracy‘, ‘Bob‘, ‘Jack‘]
>>> L[0:3]
[‘Michael‘, ‘Sarah‘, ‘Tracy‘]#如果索引以0开始

>>> L[:3]
  [‘Michael‘, ‘Sarah‘, ‘Tracy‘]

倒切片

>>> L[-2:]   #倒数几个就是负几
[‘Bob‘, ‘Jack‘]
>>> L[-2:-1]
[‘Bob‘]

例子:

1:遍历出1-100

>>> L = list(range(100))

2:取出1--10位,取多少位就是L[:10]

>>> L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3:取出后10位

>>> L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

4:取出11-20位

>>>L[10:20]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

5:前10个数,每5个取一个

>>>L[:10:2]
#返回
[2,4,6,8]

6:所有数每5个取一个

>>>L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

7:复制list

>>> L[:]
[0, 1, 2, 3, ..., 99]

tuple切片

>>> (1,2,3,4,5,6)[:3]
(1, 2, 3)

‘xxx‘也可以看做一种list

>>> ‘ABCDEFG‘[:3]
‘ABC‘
>>> ‘ABCDEFG‘[::2]
‘ACEG‘
时间: 2024-10-17 20:49:46

python高级特性-切片的相关文章

Python高级特性——学习笔记

Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码.请始终牢记,代码越少,开发效率越高. 1.切片slice.L = [1, 2, 3, 4, 5] L[0:3]=[1,2,3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素. 如果第一个索引是0,还可以省略 倒数切片L[-2:]=[4,5]从倒数第二个数 到 最后一个数 L = list(range(100))# 创建一个0-99的数列L L[:10:2]# 前10个数,每两个取一个

[3][高级特性]切片[1]

[3][高级特性]切片[1] 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 取前3个元素,应该怎么做? >>> L[0:3] ['Michael', 'Sarah', 'Tracy'] L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素. >>> L[:3] ['Mi

Python高级特性(3): Classes和Metaclasses(转)

原文:Python高级特性(3): Classes和Metaclasses 类和对象 类和函数一样都是Python中的对象.当一个类定义完成之后,Python将创建一个“类对象”并将其赋值给一个同名变量.类是type类型的对象(是不是有点拗口?). 类对象是可调用的(callable,实现了 __call__方法),并且调用它能够创建类的对象.你可以将类当做其他对象那么处理.例如,你能够给它们的属性赋值,你能够将它们赋值给一个变量,你 可以在任何可调用对象能够用的地方使用它们,比如在一个map中

Python高级特性(2):Closures、Decorators和functools(转)

原文:Python高级特性(2):Closures.Decorators和functools 装饰器(Decorators) 装饰器是这样一种设计模式:如果一个类希望添加其他类的一些功能,而不希望通过继承或是直接修改源代码实现,那么可以使用装饰器模式.简单来说 Python中的装饰器就是指某些函数或其他可调用对象,以函数或类作为可选输入参数,然后返回函数或类的形式.通过这个在Python2.6版本中被新 加入的特性可以用来实现装饰器设计模式. 顺便提一句,在继续阅读之前,如果你对Python中的

Python高级特性(1):Iterators、Generators和itertools(转)

译文:Python高级特性(1):Iterators.Generators和itertools [译注]:作为一门动态脚本语言,Python 对编程初学者而言很友好,丰富的第三方库能够给使用者带来很大的便利.而Python同时也能够提供一些高级的特性方便用户使用更为复杂的数据结构.本系 列文章共有三篇,本文是系列的第一篇,将会介绍迭代器.生成器以及itertools模块的相关用法.由于作者 Sahand Saba 列举的示例中有诸多专业的数学相关内容,因此翻译中有诸多不妥之处请大家指出,非常感谢

Python高级特性之切片

取一个list或tuple的部分元素是非常常见的操作,使用循环显得十分繁琐,但是Python提供了切片操作符(Slice),能很简单的完成对列表或者元组进行取值.接下来根据列表L和L2写几个例子, L = ['tom','bob','mary','lisa','jack'] L2= list(range(50)) 1.L[0:3] L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素2.L[:3] 如果第一个索引是0,还可以省略3.L[1:] 取索引

Day-5: Python高级特性

python的理念是:简单.优雅.所以,在Python中集成了许多经常要使用的高级特性,以此来简化代码. 切片: 对于一个list或者tuple,取其中一段的元素,称为切片(Slice). L[start:end]表示取L中从索引号为start到end的元素,其中如果顺着取,则索引号范围为0~len(L)-1:反着取,则索引号范围为-1~-len(L). 迭代: Python中迭代用for...in来完成.对于list或者tuple,就是for name in names之类:而对于dict,就

Python高级特性

比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: 这是正确的姿势 姿势不正确呀,print(L)被while管住了 我得想一想这个姿势啥问题,当然不算错误 切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']注意,逗号后面要有一个空格 取前3个元素,应该怎么做?笨办法: ,后面要有空格,你丫是不是有迫害妄想症,我服了! 之所

python 高级特性:slice(切片) 灵活指定范围

在python 官网的解释: class slice(stop) class slice(start, stop[, step]) Return a slice object representing the set of indices specified by range(start, stop, step). The start and step arguments default to None. Slice objects have read-only data attributes