博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python高级特性——迭代(Iteration)
阅读量:5951 次
发布时间:2019-06-19

本文共 1396 字,大约阅读时间需要 4 分钟。

1、给定一个集合list或者tuple,可以通过for …… in ……的语法来实现循环遍历,这个循环我们就叫做迭代

迭代list:

>>> m = ['haha','hehe','heihei','gaga']>>> for li in m:...     print(li)...hahaheheheiheigaga

迭代字符串:

>>> n = 'abcdefg'>>> for str in n :...     print(str)...abcdefg

迭代dict,迭代key

>>> l = {
'name':'wuchong','age':15}>>> for dic in l:... print(dic)...nameage

迭代value:

>>> for dic in l.values():...     print(dic)...wuchong15

同时迭代key、value:

>>> for key,value in l.items():...     print(key,value)...name wuchongage 15

Python中,只要是可迭代对象,都可以迭代。

那么,如何判断一个对象是不是可迭代对象呢?方法是通过collections中的Iterable类型判断。

>>> from collections import Iterable>>> isinstance('123',Iterable)True>>> isinstance([1,2,3],Iterable)True>>> isinstance(123,Iterable)False

可知,整数类型不是可迭代类型。

通过Python内置的enumerate函数可以把一个list变成索引-元素对的形式:

>>> m['haha', 'hehe', 'heihei', 'gaga']>>> for dx,value in enumerate(m):...     print(dx,value)...0 haha1 hehe2 heihei3 gaga

练习:使用迭代从一个list中查询最大值和最小值,如果list为None,返回[None,None],并返回一个tuple

>>> def find(l):...     if l==[]:...             return (None,None)...     else:...             min  = max  = l[0]...             for i in l:...                     if i
max:... max = i... return (min,max) >>> l=[3,6,4,8,1,0] >>> find(l) (0, 8) >>> l=[] >>> find(l) (None, None)

 

posted on
2017-12-17 18:30 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/hiwuchong/p/8052818.html

你可能感兴趣的文章
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
nginc+memcache
查看>>
linux下crontab实现定时服务详解
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
用java数组模拟登录和注册功能
查看>>
关于jsb中js与c++的相互调用
查看>>
UVA 122 Trees on the level 二叉树 广搜
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>