[python学习篇][廖雪峰][1]高级特性 ---迭代
2024-08-30 05:38:57
由于字符串也是可迭代对象,因此,也可以作用于for
循环:
>>> for ch in 'ABC':
... print ch
...
A
B
C
所以,当我们使用for
循环时,只要作用于一个可迭代对象,for
循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。
那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
最后一个小问题,如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate
函数可以把一个list变成索引-元素对,这样就可以在for
循环中同时迭代索引和元素本身:
>>> for i, value in enumerate(['A', 'B', 'C']):
... print i, value
...
0 A
1 B
2 C
上面的for
循环里,同时引用了两个变量,在Python里是很常见的,比如下面的代码:
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
... print x, y
...
1 1
2 4
3 9
最新文章
- 调用webservice 总结
- hibernate数据库连接池
- C++学习40 抛出自己的异常
- apache nginx php不显示版本号
- hdu 4800 Josephina and RPG
- headfirst之装饰模式
- Android开发之Handler的用法(源码分享)
- django模板语言中的extends,block和include
- Netty中的连接管理
- Centos7安装vsftpd (FTP服务器)
- Innodb和Myisam数据恢复
- Ubuntu下把缺省的dash shell修改为bash shell
- BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
- python练习实例2--------构造数据类型
- MySQL Errno : 1062 错误修复
- P3201 [HNOI2009]梦幻布丁
- TestNG测试方法
- Centos7安装Tomcat并部署DubboAdmin的War包并配置自动启动
- [No0000188][VCB-Studio 科普教程 2.5] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)
- C++之输出100-200内的素数
热门文章
- GreenDao 3.x 注解中ToOne和ToMany的个人理解
- eclipse的垂直选择功能
- mysql-单表操作
- RYU的GUI安装
- GCD 代码以及GCD思想
- python_102_属性方法
- SC || Chapter7 健壮性和正确性
- 二叉树、二叉搜索树、平衡二叉树、B树、B+树的精确定义和区别探究
- Codeforces Round 513 (Div.1+Div.2)
- mysql中添加数据时,报错(incorrect string value:'\xf0\x9f ) 字符转换不正确