python列表生成器迭代器实例解析

yipeiwu_com6年前Python基础

这篇文章主要介绍了python列表生成器迭代器实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

列表生成式

例如 有一个列表

a =[2,3,4,5]

需要将列表都加上1

#第一种方法
for i in map(lambda i:i+1,a)
#第二种方法
for index,i in enumerate(a):
  a[index] +=1

print(a)
#第三种,简单列表生成式
a = [i+1 for i in a]
print(a)
#加个三元运算符
a = [ i *2 if i>3 else i for i in a]

1.列表生成器_惰性运算

1.1 生成器

中括号就是列表生成式,小括号就是列表生成器

a = ( i *2 for i in range(a))

def fib(num):
  count = 0
  a,b = 0 ,1 #a=0, b= 1
  while count < num:
    tmp = a
    a = b
    b = a + tmp
    #print(a)
    count +=1
    yield a #返回a, 同时挂起当前这个函数, a返回给了通过__next__()调用当前函数的人
    #return a
  print("done...")

f = fib(10)
print(f.__next__())

迭代器

所有的生成器都是迭代器,迭代器不一定都是生成器(不同的角度,用iter方法,python

内存对象认为迭代器,从本质上就一回事)

例如 python 3里面 range(0,10) 这实际上就是一个迭代器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现插入排序和选择排序的方法

Python实现插入排序和选择排序的方法

话不多说,让我们从最基本的排序算法开始吧 插入排序 如下图所示,插入排序的实现思路顾名思义,就是 不断地在一个已经是有序的数组中,寻找合适位置并插入新元素 。 具体实现步骤为: 首先我...

大家都说好用的Python命令行库click的使用

一、前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法。它们各具特色,都能出色地完成命令行任务。argparse 是面向过程的,需要先设...

python读取LMDB中图像的方法

本文实例为大家分享了python读取LMDB中的图像具体代码,供大家参考,具体内容如下 图像数据写入LMDB之后最好再按照写入的逻辑反向解析写入的图像,如果图像能够被还原则证明写入方式是...

matplotlib实现热成像图colorbar和极坐标图的方法

matplotlib实现热成像图colorbar和极坐标图的方法

热成像图 %matplotlib inline from matplotlib import pyplot as plt import numpy as np def f(x,...

python实现给微信指定好友定时发送消息

python实现给微信指定好友定时发送消息

python有很多有趣的库,其中wxpy是连接微信的接口,具体可以查看官方文档。可以实现自动操作,wxpy 支持 Python 3.4-3.6,以及 2.7 版本。 一、安装 win10...