关于Python中几个有趣的函数和推导式解析

 更新时间:2023年08月01日 10:47:52   作者:Python 学习者  
这篇文章主要介绍了关于Python中几个有趣的函数和推导式解析,推导式comprehensions,又称解析式,是Python的一种独有特性,推导式是可以从一个数据序列构建另一个新的数据序列的结构体,需要的朋友可以参考下

一、range()函数

1、range()通常用来做循环。

2、range()生成器的特性。

例子:假如range()中使用的数值特别大,为100000000000000000000000000000?python解释器还能正常工作吗?

如果是事先生成100000000000000000000000000000个数,然后依次遍历生成,那么内存肯定溢出。而实际上如此巨大的数值依然不会使程序卡死。

代码

for i in range(100000000000000000000000000000):
    print(i)
    if i > 10:
        break

输出结果:

0
1
2
3
4
5
6
7
8
9
10
11        

因为range()函数会使用类似于生成器的特性,每次循环会记住上次使用时生成的结果值,然后从断点处继续生成,这样就避免了空间浪费。

二、递归的雷区

在计算机中,递归都是通过“栈”(stack)这种数据结构来实现的,每当递归加深一层,栈顶就增加一层,每当递归减少一层,栈顶就减少一层。

在python当递归深度达到1000层时,会导致栈溢出。

三、匿名函数lambda

1、匿名函数实例: lambda x : x+1。:前面表示传入的参数,后面表示需要执行的代码。无需写返回值。

2、匿名函数也是函数,有自己的命名空间。

四、推导式

1、列表推导式

即用简短的语法来生成一个列表,通常用[]表示。

常规版:

print([x for x in range(10)])

#输出
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

增加过滤条件:

print([x for x in range(10) if x >5])

#输出
[6, 7, 8, 9]

还可以增加多个变量和条件进行筛选。

2、字典推导式

即用简短的语法来生成一个字典,通常用{}表示。

print({x:x+2 for x in range(10)})

#输出
{0: 2, 1: 3, 2: 4, 3: 5, 4: 6, 5: 7, 6: 8, 7: 9, 8: 10, 9: 11}

注意:必须药用:来表示key-value

3、集合推导式

与字典推导式类似,但是要去掉‘ :’

print({x+2 for x in range(10)})

#输出
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

注意:没有元组推导式!没有元组推导式!因为()标识符被用作生成器的标识符号了。

所以想要创建元组推导式,可以用显式函数tuple()来表示。

print(tuple(x for x in range(5)))

#输出
(0, 1, 2, 3, 4) 

到此这篇关于关于Python中几个有趣的函数和推导式解析的文章就介绍到这了,更多相关Python函数和推导式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 3行Python代码实现剪辑音乐

    3行Python代码实现剪辑音乐

    你以为剪辑音乐要很久吗?其余3行语句Python就能瞬间搞定。本文就来详细为大家讲讲实现的步骤,文中的示例代码讲解详细,感兴趣的可以动手尝试一下
    2022-06-06
  • python面试题小结附答案实例代码

    python面试题小结附答案实例代码

    这篇文章主要介绍了python面试题小结,本文通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Python实现直播弹幕自动发送功能

    Python实现直播弹幕自动发送功能

    今天制作的这一款能在B站能指定直播间、自动发弹幕的功能的脚本,代码也超级简单,非常适合刚刚入门的同学进行学习,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-03-03
  • 对于Python装饰器使用的一些建议

    对于Python装饰器使用的一些建议

    这篇文章主要介绍了对于Python装饰器使用的一些建议,装饰器是Python学习进阶中的重要知识,需要的朋友可以参考下
    2015-06-06
  • 使用tensorflow 实现反向传播求导

    使用tensorflow 实现反向传播求导

    这篇文章主要介绍了使用tensorflow 实现反向传播求导,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python实现一个简单的验证码程序

    Python实现一个简单的验证码程序

    这篇文章主要介绍了Python实现一个简单的验证码程序,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python读写xml文件实例详解嘛

    python读写xml文件实例详解嘛

    这篇文章主要为大家详细介绍了python读写xml文件的实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • python学习之可迭代对象、迭代器、生成器

    python学习之可迭代对象、迭代器、生成器

    这篇文章主要介绍了python学习之可迭代对象、迭代器、生成器,需要的朋友可以参考下
    2021-04-04
  • python中闭包Closure函数作为返回值的方法示例

    python中闭包Closure函数作为返回值的方法示例

    闭包(closure)是函数式编程的重要的语法结构,Python也支持这一特性,下面这篇文章主要给大家介绍了关于python中闭包Closure函数作为返回值的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

    Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

    今天小编就为大家分享一篇Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论