Python学习八:迭代
2015-02-12 12:06
162 查看
迭代,就是C或者Java都有的,所谓的 for 循环!如果给定一个对象符合迭代条件,就可以使用for循环进行迭代,如:list 或者 tuple。
先看看Java中的for循环如何使用:
如果要迭代value,可以用for value in d.itervalues():
那么,该如何对list实现类似Java那样的下标循环?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
该如何在for循环里,同时引用两个变量呢?
先看看Java中的for循环如何使用:
String[] list = {"1","1","1","1","1","1"}; for(int i= 0 ; i < list.length;i++){ String temp = list[i]; System.out.print(" " + temp); }那么Python中的for循环如何使用呢:
d = {'a': 1, 'b': 2, 'c': 3} for key in d: print key
zhanggeng@zhanggeng:~/python_work$ python diedai.py C Java C++默认情况下,dict迭代的是key。
如果要迭代value,可以用for value in d.itervalues():
for value in d.itervalues(): print value如果要同时迭代key和value,可以用for k, v in d.iteritems():
for key ,value in d.iteritems(): print key ,value因为字符串也是可迭代对象,所以,也可以用for循环来进行迭代:
for ch in 'Hello Kitty': print ch在Python中使用for循环进行迭代的前提是,有一个可以被迭代的对象,那么如何判断一个对象是可迭代的对象?通过collections模块的Iterable类型判断:
from collections import Iterable print isinstance('abc' , Iterable) zhanggeng@zhanggeng:~/python_work$ python IfIterable.py True from collections import Iterable print isinstance([1,2,3] , Iterable) zhanggeng@zhanggeng:~/python_work$ python IfIterable.py True from collections import Iterable print isinstance(123 , Iterable) zhanggeng@zhanggeng:~/python_work$ python IfIterable.py False
那么,该如何对list实现类似Java那样的下标循环?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
for index , value in enumerate(['Java','Basic','C++']): print index , value
该如何在for循环里,同时引用两个变量呢?
for x, y in [(1, 2), (2, 3), (3, 4)]: print x, y
相关文章推荐
- Python学习笔记(三)——迭代
- Think Python 学习笔记6:有返回函数 迭代
- python基础学习七: 迭代
- 【Python 学习】通过yield 构建迭代生成器
- Python学习笔记(五)Python的切片和迭代
- python学习之-迭代
- python学习笔记 迭代和列表生成式
- Python教程学习简记4--Python 迭代(iteration)
- 王亟亟的Python学习之路(七)-date,continue,迭代对象,生成器
- 【Python学习笔记】python高级特性:迭代
- python 学习笔记-循环,迭代和namespace
- Python学习笔记 - 迭代Iteration
- Python学习笔记 - 迭代Iteration
- Python教程学习简记7--Python 可迭代对象:Iterable ,迭代器:Iterator
- 王亟亟的Python学习之路(六)-递归,迭代,列表生成式
- Python学习-40.Python中的迭代
- Python学习 Day 4 函数 切片 迭代 列表生成式 生成器
- Python学习中递归、迭代、生成器、函数式编程的思考
- python学习笔记(6)-高级特性(二)-迭代
- python学习第八天 -- 迭代