python笔记九(迭代)
一、迭代
通过for循环来遍历一个列表,我们称这种遍历的方式为迭代。只要是可迭代对象都可以进行迭代操作。
以下代码可以用来判断一个对象是否是可迭代的。
一类是集合数据类型,如list
、tuple
、dict
、set
、str
等;
一类是generator
,包括生成器和带yield
的generator function(我们将在下一节中介绍)
>>> from collections import Iterable
>>> isinstance("abc",Iterable)
True
>>> isinstance([1,2,3],Iterable)
True
>>> isinstance({"name":"nadech"},Iterable)
True
通过迭代的方式,循环输出列表中的内容。
names = ["nadech","aguilera","sara"]
for name in names:
print(name)
如果在输出以上name的时候,我们希望在前边加上序号,变成索引-元素对的形式,那么可以通过enumerate函数实现。
names = ["nadech","aguilera","sara"]
for i,name in enumerate(names):
print(i,name) #输出结果
0 nadech
1 aguilera
2 sara
在字典迭代的时候,我们可以迭代字典的key,value,或者是key-value对。
>>> d = {"name":"nadech","age":"","address":"NANJING"}
>>> for key in d: #迭代key值
... print(key)
...
address
name
age
>>> for value in d.values(): #迭代value值
... print(value)
...
NANJING
nadech
22
>>> for key,value in d.items(): #迭代key-value对
... print(key,value)
...
address NANJING
name nadech
age 22
类似的,在for循环中有两个变量,如:
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
... print(x,y)
...
1 1
2 4
3 9
python笔记九(迭代)的更多相关文章
- Python笔记(九)_切片、列表生成式
切片 mylist[:3] 取前3位元素,0可省略不写 mylist[-4:] 取后4位元素,0可省略不写 mylist[2:4] 从第2个开始取,取到第4个,但第4个不取,取的元素值为4-2=2 m ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- guxh的python笔记四:迭代
1,可迭代对象iterable,迭代器iterator,生成器generator 可迭代对象iterable: 实现__iter__方法的类.__iter__方法返回iterator或者generat ...
- PythonI/O进阶学习笔记_8.python的可迭代对象和迭代器、迭代设计模式
content: 1.什么是迭代协议 2. 什么是迭代器(Iterator)和可迭代对象(Iterable) 3. 使用迭代器和可迭代对象 4. 创建迭代器和可迭代对象 5. 迭代器设计模式 一 ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
- python笔记 - day3
python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...
- python笔记之itertools模块
python笔记之itertools模块 itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生 ...
- python笔记之Cmd模块
python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...
- s21day22 python笔记
s21day22 python笔记 一.内容回顾及补充 模块补充 importlib.import_module:通过字符串的形式导入模块 #示例一: import importlib # 用字符串的 ...
随机推荐
- centos虚拟机nat模式,可以上内网,不能上外网
http://sky425509.iteye.com/blog/1996085 我这边的问题是,好久没用虚拟机了,重启之后,变成了dhcp模式,整个网卡配置变了. 重新配置了静态ip,网关,dns后才 ...
- python3全栈开发-面向对象的三大特性(继承,多态,封装)之继承
一 .初识继承 1.什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类. 特点: 子类会“”遗传”父类的属 ...
- vue中的vue-cli
在前面的学习过程中我相信你们已经对vue有了一定的了解,现在我们来看一下vue中的vue-cli. 学习这个我们首先需要的是node环境的,如果你的网络环境慢的话建议安装淘宝镜像,在cmd中输入 np ...
- 1.5 WEB API 上传文件
1.前提,设置跨域 2.在控制器头添加允许跨域 /// <summary> /// 文件管理口控制器 /// </summary> [EnableCors("*&qu ...
- 关于sql多表去重问题
很多人新手对于数据库distinct 的用法有误解接下来我们看一段代码: 数据表:table id name 1 a 2 b 3 c 4 c 5 b 我们使用distinc ...
- Centos下安装 .net Core运行程序
首先要进行更新下镜像文件 sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e ...
- ubuntu临时修改ip,mac的方法示例
ifconfig eth0 down ifconfig eth0 154.84.28.148 netmask 255.255.255.0 route add default gw 154.84.28. ...
- Shell的基本命令(第一天),根据w3c学习得
Shell是一种应用程序,提供一个界面访问操作系统内核的服务. 1:编写shell脚本 vi test.sh #!/bin/bash #指定这个脚本需要什么解释器来执行 echo "Hell ...
- 机器学习技法:05 Kernel Logistic Regression
Roadmap Soft-Margin SVM as Regularized Model SVM versus Logistic Regression SVM for Soft Binary Clas ...
- 【JDK1.8】JUC——LockSupport
一.前言 Basic thread blocking primitives for creating locks and other synchronization classes. 用于创建锁定和其 ...