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 Subprocess模块原理及实例

Python Subprocess模块原理及实例

前言 其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要耗费一个小时,那么主进程会卡一个小时,而不...

Python线性回归实战分析

Python线性回归实战分析

一、线性回归的理论 1)线性回归的基本概念 线性回归是一种有监督的学习算法,它介绍的自变量的和因变量的之间的线性的相关关系,分为一元线性回归和多元的线性回归。一元线性回归是一个自变量和一...

解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

简述 从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS URL because the SSL module...

一文带你了解Python中的字符串是什么

一文带你了解Python中的字符串是什么

在《 详解Python拼接字符串的七种方式 》这篇文章里,我提到过,字符串是程序员离不开的事情。后来,我看到了一个英文版本的说法: There are few guarantees in...

详解Python进阶之切片的误区与高级用法

众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组...)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的...