简介php
在Python中,若是给定一个list或者tuple,咱们能够经过for循环来遍历这个list或者tuple,这种遍历咱们称为迭代(Iteration)
在Python中,迭代是for...in来完成的,而不少语言好比C或者Java,迭代list是经过下标完成的,好比Java代码:java
for(i=0; i<list.length; i++){ n = list[i] }
能够看出,Python的for循环抽象程度要高于Java的for循环
由于,Python的for循环不只能够用在list或tuple上,还能够用在任何可迭代对象上。
那么,可迭代对象有哪些呢?怎么判断一个对象是不是可迭代对象呢?能够用collections模板里面的iterable包的isinstance函数进行判断:python
from collections import Iterable #载入模块 isinstance('abc', Iterable) #字符串是可迭代对象吗? True isinstance([1,2,3],Iterable) #list是可迭代对象吗? True isinstance({'dede':123},Iterable) #字典是可迭代对象吗? True
字典的迭代c++
>>> d={'python':1,'php':2,'java':3} #默认迭代的是key >>> for i in d: print(i) python php java #自定义迭代key >>> for key in d.keys(): print(key) python php java #迭代value >>> for value in d.values(): print(value) 2 #同时迭代key,value >>> for k , v in d.items(): print(k,v) python 1 php 2 java 3 >>>
列表和元祖包含下标的迭代函数
#对于一个列表 language = ['python', 'php', 'java', 'c++'] #第一种 for x in range(len(language)): print(x, language[x]) #第二种 for i, value in enumerate(language): print(i, value) #运行结果 0 python 1 php 2 java 3 c++ #在同一行输出: for i ,value in enumerate(lanage): print(i,value ,end=', ') 结果: 0 python, 1 php, 2 java, 3 c++,
任何可迭代对象均可以做用与for循环,保活咱们自定义的数据类型,只要符合迭代条件,就能够使用for循环学习
欢迎加入学习交流群569772982,你们一块儿学习交流。code