python六剑客

本文介绍了Python编程中的六种核心函数:推导列表、切片、map、lambda、filter和reduce。通过实例展示了它们的功能和用法,如推导列表用于快速创建列表,切片操作实现对序列的截取,map函数将函数应用于可迭代对象的每个元素,lambda表达式用于创建简洁的匿名函数,filter函数过滤可迭代对象中的元素,reduce函数则对序列进行累积运算。这些函数在实际编程中具有很高的实用性。
摘要由CSDN通过智能技术生成

六剑客之一: 推导列表

>>> [i for i in range(1,11)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> [i for i in range(31) if i % 10 <= 5]
[0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, 30]
>>> [i for i in range(31) if i % 10 <= 5 if i % 10 == 0]
[0, 10, 20, 30]
>>> [i for i in range(31) if i % 10 <= 5 and i % 10 == 0]
[0, 10, 20, 30]

六剑客之二: 切片

>>> s = [i for i in range(1, 11)]
>>> s
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> s[2:5]
[3, 4, 5]
>>> s[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> s[::2]
[1, 3, 5, 7, 9]
>>> s[::-1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> s[::-2]
[10, 8, 6, 4, 2]

六剑客之三: map

  • map(函数对象,可迭代对象)
>>> list(map(str, [1,2,3,4]))
['1', '2', '3', '4']

处理过程:
[1,2,3,4]中每一个元素会被遍历取出,然后发给str函数去求一个处理结果放到结果的List中
第一次:1 —》str(1)—>[“1”]
第二次:2 —》str(2)—>[“1”,“2”]
第三次:3 —》str(3)—>[“1”,“2”,“3”]
第四次:4 —》str(4)—>[“1”,“2”,“3”,“4”]

六剑客之四: lambda

  • lambda [arg1[, arg2, … argN]]: expression
  • lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。
  • 如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。
>>> func = lambda x: x * 10
>>> func(1)
10
>>> func(2)
20

>>> func = lambda x,y:[x**2,y**2]
>>> func(2,3)
[4, 9]
>>> func(5,6)
[25, 36]

lambda 与map结合使用

>>> list(map(lambda x:x*10, [1,2,3,4]))
[10, 20, 30, 40]

六剑客之五: filter

  • filter(函数对象,可迭代对象)
  • 原理:把可迭代对象中的每一个对象传到函数对象中,函数使用这个参数返回值True,就会把这个值保留下来,否则就丢弃掉
  • 函数可以用lambda,也可以用自定义函数
>>> list(filter(lambda x: x>=10, [1,2,10,15,3,20]))
[10, 15, 20]

>>> def than(num):
...     if num >= 10:
...         return True
...     else:
...         return False
... 
>>> list(filter(than, [1,2,10,15,3,20]))
[10, 15, 20]

六剑客之六: reduce

  • 需要导包才能使用(from functools import reduce)
  • reduce(function, iterable[, initializer])
    function – 函数,有两个参数
    iterable – 可迭代对象
    initializer – 可选,初始参数
>>> from functools import reduce
>>> sum = reduce(lambda x,y: x+y, [1,2,3,4])
>>> sum
10

>>> def add(x,y):
...     return x + y
... 
>>> sum2 = reduce(add,[1,2,3,4])
>>> sum2
10

计算过程:

  • 第一次计算:x=1,y=2,计算的结果3
  • 第二次计算:x=3,y=3, 计算的结果6
  • 第三次计算:x=6,y=4, 计算的结果10

如果未传入initializer参数:
第一次计算的是iterable第一个元素与第二个元素

如果传入initializer参数:
则第一次计算的就是initializer与iterable第一个元素

>>> from functools import reduce
>>> sum3 = reduce(lambda x,y: x+y, [1,2,3,4], 100)
>>> sum3
110

计算过程:

  • 第一次计算:x=100,y=1,计算的结果101
  • 第二次计算:x=101,y=2, 计算的结果103
  • 第三次计算:x=103,y=3, 计算的结果106
  • 第四次计算:x=106,y=4, 计算的结果110
### 回答1: 《Python入门编程三剑客PDF》是一本深受Python初学者喜爱的编程指南。它深入浅出地介绍了Python编程的核心概念、语法规则以及常用的编程技巧。 不同于其他编程入门书籍,该书采用了“三剑客”的形象来描述Python编程的三个重要组成部分,即Python解释器、编辑器和交互式环境。这三个工具在Python编程中起到了相互配合的重要作用。 Python解释器是Python编程中最重要的工具之一,它负责将我们编写的Python代码转化为机器可以理解的语言。这本书详细介绍了Python解释器的不同版本,如CPython、Jython和IronPython等,并解释了它们的特点和适用场景。 另外,该书还介绍了多个常用的Python编辑器,如IDLE、PyCharm和Sublime Text等。这些编辑器提供了各种方便的功能,如代码高亮、代码补全和调试功能等,可以极大地提高编码的效率和质量。 最后,该书还详细介绍了Python的交互式环境,如命令行交互式环境和Jupyter Notebook等。通过这些交互式环境,我们可以方便地输入Python代码并立即看到结果,这对于学习和调试代码非常有帮助。 总之,《Python入门编程三剑客PDF》通过深入浅出的方式介绍了Python编程的三个重要组成部分,帮助初学者快速入门和掌握基本的编程技能。无论是对于编程初学者还是对于已有编程经验的人士来说,这本书都是一本不可多得的宝贵资料。 ### 回答2: 《Python入门编程三剑客PDF》是一本关于Python编程入门的电子书。Python作为一门简单易学且功能强大的编程语言,吸引了越来越多的编程爱好者和初学者。这本电子书通过三个"剑客"的角度,提供了详细而全面的Python入门知识。 第一个"剑客"是语法剑客,详细介绍了Python的基本语法和常用数据类型,如字符串、列表和字典等。读者可以通过学习这部分内容掌握Python的基本语法和编程基础。 第二个"剑客"是功能剑客,介绍了Python的常用功能和模块。这部分内容包括文件操作、网络编程、Web开发、数据库连接等方面的知识,读者可以通过学习这些知识拓宽自己的编程技能和应用领域。 第三个"剑客"是项目剑客,通过实例项目的方式讲解Python的应用。这些项目涵盖了数据分析、机器学习、自动化运维等不同领域,读者可以通过完成这些项目来巩固自己的学习成果,提升解决实际问题的能力。 《Python入门编程三剑客PDF》以清晰简洁的语言和丰富的实例,帮助读者快速入门Python编程。不仅可以作为初学者的入门教程,也适合有一定编程经验的读者进一步学习Python。 通过阅读这本电子书,读者能够系统地学习Python的语法和基本功能,同时也能够通过实例更好地理解和运用这些知识。总结而言,这本《Python入门编程三剑客PDF》是一本很好的Python入门教材,对于想要学习Python编程的人来说是一本不可多得的资源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值