pyDay7
2024-08-30 05:22:52
内容来自廖雪峰的官方网站
1、如果给定一个list或tuple,我们可以通过for
循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
2、只要是可迭代对象,无论有无下标,都可以迭代。例如:dict、字符串
3、那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
4、Python内置的 enumerate
函数 可以把一个list变成索引-元素对,这样就可以在for
循环中同时迭代索引和元素本身:
>>> for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
... print(x, y)
...
1 1
2 4
3 9
5、列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
例如生成[1x1, 2x2, 3x3, ..., 10x10]:
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
6、list:[1, 2, 3]、tuple:(1, 2, 3)、dict:{1: 1, 2: 2, 3: 3}、set:set([1, 2, 3])
7、dict(key-value存储方式)的几种迭代示例:
>>> dict = {'migo': 18, 'lucy': 17, 'jack': 22}
>>> for x in dict:
... print(x)
...
lucy
migo
jack
>>> for x in dict.values():
... print(x)
...
17
18
22
>>> for x, y in dict.items():
... print(x , y)
...
lucy 17
migo 18
jack 22
最新文章
- CodeSmith模板代码生成实战详解
- OPENGLES 基础(一些链接和随笔)
- vs2008中使用正则删除空行
- Java泛型类与类型擦除
- Linux下如何查看哪些端口处于监听状态
- 查看当前正在被执行的sql
- 数据分析≠Hadoop+NoSQL
- CSS3秘笈复习:十三章&;十四章&;十五章&;十六章&;十七章
- Java Garbage Collectors
- spring mvc:ueditor跨域多图片上传失败解决方案
- I/P/B/SI/SP帧和PTS/DTS的关系
- Nginx集群之SSL证书的WebApi微服务
- 【JavaScript的基本语法】
- POJ Ikki's Story IV - Panda's Trick [2-SAT]
- Devexpress中文语言包汉化
- C语言基础四(敲打键盘、寻找资料,循环语句)请一个个字读,助于您的学会机率
- shell脚本使用技巧2
- centos7-vmware克隆后的配置
- opencv2函数学习之erode、dilate:图像腐蚀和膨胀
- 圆锥体完全均衡下重力异常正演 [MATLAB]
热门文章
- 关于webpy模板自动HTML转义的问题
- Visual Studio启用64位 IIS Express 解决 x64位的dll 而出现 未能加载文件或程序集“xxxxxxxx”或它的某一个依赖项。试图加载格式不正确的程序。
- java 中方法的重写
- python读取文件行号和内容的便捷方法
- a new way of thinking about a problem
- 运行Chromium浏览器无法登录谷歌账号因为缺少google api密钥
- 2018/03/20 每日一个Linux命令 之 cp
- 设置elasticsearch一次最大数量查询
- Laravel和thinkphp的区别/优缺点
- resume 简历