python迭代器
时间:2022-04-22
本文章向大家介绍python迭代器,主要内容包括简介、参考、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本篇将介绍Python的迭代,更多内容请参考:Python学习指南
简介
在Python中,如果给定一个list或者tuple,我们可以通过for循环
来遍历这个list或者tuple,这种遍历我们称为迭代
(Iteration)
在Python中,迭代是for...in
来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:
for(i=0; i<list.length; i++){
n = list[i]
}
可以看出,Python的for循环抽象程度要高于Java的for循环 因为,Python的for循环不仅可以用在list或tuple上,还可以用在任何可迭代对象上。 那么,可迭代对象有哪些呢?怎么判断一个对象是否是可迭代对象呢?可以用collections模板里面的iterable包的isinstance函数进行判断:
>>>from collections import Iterable #载入模块
>>>isinstance('abc', Iterable) #字符串是可迭代对象吗?
True
>>> isinstance([1,2,3],Iterable) #list是可迭代对象吗?
True
>>> isinstance({'dede':123},Iterable) #字典是可迭代对象吗?
True
字典的迭代
>>> 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
循环
参考
- 在64位Windows 7/2008操作系统上部署32位的Web应用程序错误
- 云计算浪潮
- 2.[Andriod]Andriod Studio结合Visual Studio Emulator for Android调试Android App
- Windows Server AppFabric Caching
- zepto 基础知识(2)
- DeepMind回顾2017年:除了战胜柯洁还有哪些大事
- [认证授权] 1.OAuth2授权
- 机器学习(四)——梯度下降算法解释以及求解
- 在Windows上运行单节点的Cassandra
- Mono技术规格
- 如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉
- 机器学习(三)——k-近邻算法基础
- 利用Windows性能计数器(PerformanceCounter)监控
- zepto 基础知识(1)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 按照元素指定条件筛选结构体数组
- 多目标优化按支配关系分层实现
- CentOS 7 解决丢失 nginx.pid
- $(function(){})和$(document).ready(function(){})
- javascript中的setTimeout() 方法和clearInterval() 方法和setInterval() 方法
- matlab生成数字1-n的列向量
- JavaScript中的匿名函数及函数的闭包
- ios下Safari无法触发click事件的处理
- 禁止网页右键、复制、另存为、查看源文件等功能
- ajax知识点
- 前端特效常用代码
- VBA编写Ribbon Custom UI编辑器02——编码转换
- web开发中常用的算法和函数
- nodejs创建线程问题
- 3分钟短文 | Laravel如何改造复杂的多表联合查询,这很高效!