python笔记九(迭代)

Posted nadech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python笔记九(迭代)相关的知识,希望对你有一定的参考价值。

一、迭代

  通过for循环来遍历一个列表,我们称这种遍历的方式为迭代。只要是可迭代对象都可以进行迭代操作。

  以下代码可以用来判断一个对象是否是可迭代的。

  一类是集合数据类型,如listtupledictsetstr等;

  一类是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":"22","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笔记九(迭代)的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch笔记九之优化

学习笔记:python3,代码片段(2017)

为啥我在这个 python 片段中得到 float 是不可迭代的? [复制]

Python 学习之《Learn Python3 The Hard Way 》第九部分学习笔记

Python学习笔记九(UDP套接字和并发编程)

九.魔法方法特性和迭代器