Python语言(七)切片和迭代
2014-09-03 11:36
316 查看
切片
所谓切片是对list来说的,list对象包含一串元素,当需要对它们中的某些元素提取时,通过“切片”非常的方便。例如:#定义一个list L; >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] #通过变量名和下标访问元素; >>> L1 = [L[0], L[1], L[2]] >>> L1 ['Michael', 'Sarah', 'Tracy'] #通过所谓“切片”,也能方便的取出list中的元素; >>> L2 = L[:3] >>> L2 ['Michael', 'Sarah', 'Tracy'] #上面的方法看作是特例,缺省情况下,起始下标为0,不包括结束下标,也就是不访问L[3],后面的1,表示的是步长,默认为1. >>> L2 = L[0:3:1] >>> L2 ['Michael', 'Sarah', 'Tracy'] >>>
list的下标还可以是负值,从右往左分别是-1、-2、...、-n。默认的步长也可以是负值,下面举例说明用法:
#以-4为开始,默认步长为1,直到-1截止。L[-1]即为Jack。 >>> L ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] >>> L8 = L[-4:] >>> L8 ['Sarah', 'Tracy', 'Bob', 'Jack'] #如果我们想将L翻转,该如何操作呢? >>> Lr = L[-1::-1] >>> Lr ['Jack', 'Bob', 'Tracy', 'Sarah', 'Michael'] #或者 >>> Lr2 = L[4::-1] >>> Lr2 ['Jack', 'Bob', 'Tracy', 'Sarah', 'Michael']
迭代
迭代表面对象可以通过for循环来遍历所有元素。在Python中,for语句抽象程度较高些,如:#有dict对象 >>> d = {'a':1, 'b':2, 'c':3} >>> d {'a': 1, 'c': 3, 'b': 2} >>> for key in d: print key a c b #for语句迭代访问d中的所有键,并打印 #还可以同时遍历多个对象 >>> for key, val in d.iteritems(): print "%s:%s" % (key, val) a:1 c:3 b:2能用在for语句中的对象必须是可迭代的,Iterable!
>>> from collections import Iterable >>> isinstance('abc', Iterable) # str是否可迭代 True >>> isinstance([1,2,3], Iterable) # list是否可迭代 True >>> isinstance(123, Iterable) # 整数是否可迭代 False可以看出字符串、list、tuple、dict等都是可迭代的,而整数不能。
>>> for ch in "abc": print ch a b c
相关文章推荐
- python 语言基础之切片,迭代
- python(六)切片,生成式,生成器,迭代
- Python自学笔记之高级特性1——切片和迭代
- Python入门笔记(5)_ 切片与迭代
- Python3 基础:高级特性-切片和迭代
- python高级特性(1)切片,迭代
- Python的高级特性之切片、迭代、列表生成式、生成器
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
- python(六)切片,生成式,生成器,迭代
- python的切片与迭代
- python切片与迭代
- Python学习 Day 4 函数 切片 迭代 列表生成式 生成器
- python入门笔记(Day3)--切片,迭代(器),列表生成式/器,
- python入门--切片,迭代,列表生成
- Python 函数 切片 迭代 列表生成器
- 三、python高级特性(切片、迭代、列表生成器、生成器)
- python基础2(dict—set—函数—切片—迭代—列表range)
- 深入解析Python中的list列表及其切片和迭代操作
- Python基础-切片和迭代
- 初学python:切片、迭代、列表生成式、生成器