python中的迭代和可迭代对象代码示例
什么是迭代(iteration)呢?
给定一个list或者tuple,通过for循环来遍历这个list或者tuple、这种遍历就是迭代(iteration)。只要是可迭代的对象都可以进行迭代、怎么判断一个对象是否是可迭代的对象呢?可以用collections模块里面的iterable包的isinstance函数进行判断:
>>> from collections import Iterable#载入模块 >>> isinstance('abc',Iterable) #字符串是可迭代对象吗? True >>> isinstance([1,2,3],Iterable) #list是可迭代对象吗? True >>> isinstance({'dede':123},Iterable) #字典是可迭代对象吗? True
对于字典的迭代:
>>> d={'python':1,'php':2,'java':3} #默认迭代的是key >>> for i in d: print(i) python php java #自定义迭代key >>> for key in d.keys(): print(key) python php java #迭代value >>> for value in d.values(): print(value) 2 #同时迭代key,value >>> for k , v in d.items(): print(k,v) python 1 php 2 java 3 >>>
怎样实现对列表和元组的下标循环呢?
两种方法:
#对于一个列表 lanage=['python','php','java','c++'] 第一种: for x in range(len(lanage)): print(x,lanage[x]) 第二种: for i ,value in enumerate(lanage): print(i,value) #运行结果 python php java c++ python php java c++ >>> #在同一行输出: for i ,value in enumerate(lanage): print(i,value ,end=',') 结果: python,1 php,2 java,3 c++,
总结
以上就是本文关于python中的迭代和可迭代对象代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
相关推荐
-
Python 迭代器与生成器实例详解
Python 迭代器与生成器实例详解 一.如何实现可迭代对象和迭代器对象 1.由可迭代对象得到迭代器对象 例如l就是可迭代对象,iter(l)是迭代器对象 In [1]: l = [1,2,3,4] In [2]: l.__iter__ Out[2]: <method-wrapper '__iter__' of list object at 0x000000000426C7C8> In [3]: t = iter(l) In [4]: t.next() Out[4]: 1 In [5]: t.
-
Python使用迭代器捕获Generator返回值的方法
本文实例讲述了Python使用迭代器捕获Generator返回值的方法.分享给大家供大家参考,具体如下: 用for循环调用generator时,发现拿不到generator的return语句的返回值.如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的value中: #!/usr/bin/env python # -*- coding: utf-8 -*- def fib(max): n, a, b = 0, 0, 1 while n < max:
-
Python数据结构与算法之图的基本实现及迭代器实例详解
本文实例讲述了Python数据结构与算法之图的基本实现及迭代器.分享给大家供大家参考,具体如下: 这篇文章参考自<复杂性思考>一书的第二章,并给出这一章节里我的习题解答. (这书不到120页纸,要卖50块!!,一开始以为很厚的样子,拿回来一看,尼玛.....代码很少,给点提示,然后让读者自己思考怎么实现) 先定义顶点和边 class Vertex(object): def __init__(self, label=''): self.label = label def __repr__(sel
-
老生常谈Python之装饰器、迭代器和生成器
在学习python的时候,三大"名器"对没有其他语言编程经验的人来说,应该算是一个小难点,本次博客就博主自己对装饰器.迭代器和生成器理解进行解释. 为什么要使用装饰器 什么是装饰器?"装饰"从字面意思来谁就是对特定的建筑物内按照一定的思路和风格进行美化的一种行为,所谓"器"就是工具,对于python来说装饰器就是能够在不修改原始的代码情况下给其添加新的功能,比如一款软件上线之后,我们需要在不修改源代码和不修改被调用的方式的情况下还能为期添加新的功
-
浅谈python迭代器
1.yield,将函数变为 generator (生成器) 例如:斐波那契数列 def fib(num): a, b, c = 1, 0, 1 while a <= num: yield c b, c = c, b + c a += 1 for n in fib(10): print(n, end=' ') # 1 1 2 3 5 8 13 21 34 55 2.Iterable 所有可以使用for循环的对象,统称为 Iterable (可迭代) from collections import
-
浅谈python for循环的巧妙运用(迭代、列表生成式)
介绍 我们可以通过for循环来迭代list.tuple.dict.set.字符串,dict比较特殊dict的存储不是连续的,所以迭代(遍历)出来的值的顺序也会发生变化. 迭代(遍历) #!/usr/bin/env python3 #-*- coding:utf-8 -*- vlist=['a','b','c'] vtuple=('a','b','c') vdict={'a': 1, 'b': 2, 'c': 3} vset={'a','b','c'} vstr='abc' for x in vl
-
Python编程实现二分法和牛顿迭代法求平方根代码
求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代法(Newton iteration) 1:二分法 求根号5 a:折半: 5/2=2.5 b:平方校验: 2.5*2.5=6.25>5,并且得到当前上限2.5 c:再次向下折半:2.5/2=1.25 d:平方校验:1.25*1.25=1.5625<5,得到当前下限1.25 e:再次折半:2.5-(
-
Python 中迭代器与生成器实例详解
Python 中迭代器与生成器实例详解 本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下: 1.手动遍历迭代器 应用场景:想遍历一个可迭代对象中的所有元素,但是不想用for循环 解决方案:使用next()函数,并捕获StopIteration异常 def manual_iter(): with open('/etc/passwd') as f: try: while True: line=next(f) if line is None: br
-
python中的迭代和可迭代对象代码示例
什么是迭代(iteration)呢? 给定一个list或者tuple,通过for循环来遍历这个list或者tuple.这种遍历就是迭代(iteration).只要是可迭代的对象都可以进行迭代.怎么判断一个对象是否是可迭代的对象呢?可以用collections模块里面的iterable包的isinstance函数进行判断: >>> from collections import Iterable#载入模块 >>> isinstance('abc',Iterable) #字
-
python中的函数递归和迭代原理解析
这篇文章主要介绍了python中的函数递归和迭代原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.递归 1.递归的介绍 什么是递归? 程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大
-
详解Python中for循环的定义迭代方法
目录 Python的 for 循环 遍历字典 range()功能 break语句 和continue语句 else语句 Python的 for 循环 Python 是基于集合的迭代. for <var> in <iterable>: # <iterable>是对象的集合--例如,列表或元组. <statement(s)> # 循环体 a = ['曹操', '孫権', '劉備'] for i in a: print(i) 输出: 曹操孫権劉備 可迭代对象 ,可
-
Python中的类的定义和对象的创建方法
目录 1.创建类和创建类对象 2.新式类与旧式(经典)类 面向对象中两个重要的概念: 1.类 :对一类事物的描述,是抽象的.概念上的定义.比如做石膏像的模型2.对象:实际存在的该类事物的每个个体,因而也称实例(instance).比如石膏像二者的关系:对象是由类派生的.创建的.一个类可以创建无穷多个对象,每个对象都属于类. 1.创建类和创建类对象 1.创建类,类主要由类名,属性,方法组成,当然创建一个类时,属性和方法可以选择的. class Person: def cry(self): #类
-
python中绑定方法与非绑定方法的实现示例
目录 一:绑定方法:其特点是调用方本身自动作为第一个参数传入 二:非绑定方法,静态方法 一:绑定方法:其特点是调用方本身自动作为第一个参数传入 1.绑定到对象的方法:调用方是一个对象,该对象自动传入 2.方法绑定到类:调用方是类,类自动传入 import settings_A class 后台数据库: def __init__(self,ip,port): self.ip=ip self.port=port def 基本功能(self): print('%s:%s' %(self.ip,self
-
Python中的pygal安装和绘制直方图代码分享
有关pygal的安装,大家可以参阅<pip和pygal的安装实例教程>. 直方图: 直方图是一个特殊的条,它可以取3个数值:纵坐标高度,横坐标开始和横坐标结束. import pygal hist = pygal.Histogram() hist.add('Wide bars', [(5, 0, 10), (4, 5, 13), (2, 0, 15)]) hist.add('Narrow bars', [(10, 1, 2), (12, 4, 4.5), (8, 11, 13)]) hist.
-
Python中的groupby分组功能的实例代码
pandas中的DataFrame中可以根据某个属性的同一值进行聚合分组,可以选单个属性,也可以选多个属性: 代码示例: import pandas as pd A=pd.DataFrame([['Beijing',1.68,2300,'city','Yes'],['Tianjin',1.13,1293,'city','Yes'],['Shaanxi',20.56,3732,'Province','Yes'],['Hebei',18.77,7185,'Province','No'],['Qing
-
Python中join()函数多种操作代码实例
这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os.path.join()两个函数,具体作用如下: . join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回 对序列进行操作(分别使用' ' .' - '与':'作为分隔符) a=['1aa','
-
Python中使用socks5设置全局代理的方法示例
0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks 0x03 测试 正常请求,httperror无法获得 加入socks5代理后,可以获得当前程序的全局代理可以 正常访问 import socket import socks socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 10808)
-
python中tkinter窗口位置\坐标\大小等实现示例
正在尝试着做一个比较完善的画图软件,计划使用tkinter库中的canvas控件来做,然后正在攻关图形项位置.坐标.大小及其他属性项的保存和加载的问题,刚好需要用到坐标.位置的知识,因此作为这个画图软件的附带产出物,整理成了本篇博文,分享给大家,一起研究研究,期待能对你工作带来启发和帮助. 不忘初心,方得始终,让我们一起共勉! 好的,言归正传,回归本篇博文的主题:python中tkinter窗口位置|坐标\大小等知识的科普. 大家都知道tkinter库中有很多控件和主窗口,因此这些控件和主窗口都
随机推荐
- jQuery判断checkbox是否选中的3种方法
- 还原sql server数据库的处理方法
- vue实现留言板todolist功能
- ASP.NET中 Panel 控件的使用方法
- js控制网页前进和后退的方法
- PHP下编码转换函数mb_convert_encoding与iconv的使用说明
- 如何防范ASP木马
- javascript关于复选框的实用脚本代码
- Debian 9系统下修改默认网卡为eth0的方法
- MSSQL 大量数据时,建立索引或添加字段后保存更改提示超时的解决方法
- jQuery搜索框效果实现代码(百度关键词联想)
- jQuery入门知识简介
- JDK环境变量配置的具体操作步骤
- asp.net StringBuilder的用法 实例代码
- tensorflow中next_batch的具体使用
- 详解java面试题中的i++和++i
- C#中event内存泄漏总结
- python向已存在的excel中新增表,不覆盖原数据的实例
- Android ImageSelector微信图片选择器
- .net 生成拼音码与五笔码实例代码