Python学习-高级特性
来源:互联网 发布:solidworks软件下载64 编辑:程序博客网 时间:2024/05/17 07:04
取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:
#coding=UTF-8#list tuple string 都可以进行切片操作L = list(range(100))T=((0, 1, 2, 3, 4, 5))S='abcdefjhijklmn'print L[:10]print L[:-10]print L[-10:]print L[10:20]print T[:-1]print S[2:5]
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
>>> from collections import Iterable>>> isinstance('abc', Iterable) # str是否可迭代True>>> isinstance([1,2,3], Iterable) # list是否可迭代True>>> isinstance(123, Iterable) # 整数是否可迭代False
for ch in 'ABC': print(ch)
如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
>>> for i, value in enumerate(['A', 'B', 'C']):... print(i, value)...0 A1 B2 C
>>> d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:... print(key)...acb
阅读全文