返回顶部
首页 > 资讯 > 后端开发 > Python >如何正确的在python中使用推导式
  • 420
分享到

如何正确的在python中使用推导式

2023-06-06 14:06:32 420人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本文章向大家介绍如何正确的在python中使用推导式,主要包括如何正确的在Python中使用推导式的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。python可以做什么Python是一种编程语

本文章向大家介绍如何正确的在python中使用推导式,主要包括如何正确的在Python中使用推导式的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析人工智能web开发等。

前言

推导式提供了更简洁高效的方法来生成序列而又不失代码的可读性。

定义: 推导式是 Python 里很有用的一个特性,它可以用一行代码就可以创建一个新的序列(比如:列表,集合,字典等等)。通过这个性能,不仅可以少写很多代码,而且性能上也更快。

Python 里有四种推导式:

  • 列表推导式(List Comprehensions)

  • 字典推导式(Dictionary Comprehensions)

  • 集合推导式(Set Comprehensions)

  • 生成器推导式(Generator Comprehensions)

一、列表推导式(List Comprehensions)

假如你有一个列表,你想去掉该列表中的所有负数,那通常的做法使用 for 循环

numbers=[1,-2,3,-4,5]new_nums=[]for num in numbers: if num>0:  new_nums.append(num)print(new_nums)

输出结果:

如何正确的在python中使用推导式

但如果我们用列表推导式来实现,那么这个过程就短得多,只需要一行代码:

numbers=[1,-2,3,-4,5]new_nums=[num for num in numbers if num>0]print(new_nums)

输出结果同上。

列表推导式的结构:

output_list = [expression for var in input_list if condition]

这里的 if condition 语句并不是必须有的。

二、字典推导式(Dictionary Comprehensions)

跟列表推导式一样,通过同样方式生成字典的方法,就是字典推导式。

假如你想从一个全是数字的列表来创建一个字典,列表里的数字作为 key, 数字的的字符串值作为 value, 然后再某个限制条件,最终获得你想要的字典数据:

nums=[1,2,3,4,5,6,7,8]dict={}for num in nums: if num %2 == 0:  dict[num] = str(num)print(dict)

输出结果:

如何正确的在python中使用推导式

如果我们使用字典推导式,就会简洁的多:

nums=[1,2,3,4,5,6,7,8]dict={num:str(num) for num in nums if num % 2 == 0}print(dict)

输出结果同上。

字典推导式的模板:

{key:value for (key,value) in dict if key,value satisfy condition}

三、集合推导式(Set Comprehensions)

集合推导式跟列表推导式差不多。就比如我们要把一个全是数字的列表中的奇数组成一个集合,用 for 循环的话:

numbers=[1,2,3,4,5,6,7,8]filtered_nums=set()for num in numbers:  if num %2 == 0:   filtered_nums.add(num)print(filtered_nums)

输出结果:

如何正确的在python中使用推导式

如果我们使用集合表达式来表示:

numbers=[1,2,3,4,5,6,7,8]filtered_nums={num for num in numbers if num %2 == 0}print(filtered_nums)

输出结果同上。

注意: 集合推导式除了是使用 {} 外,其他形式都跟列表推导式一样。

四、生成器推导式(Generator Comprehensions)

生成器推导式(或叫生成器表达式),其结构也跟列表表达式相似。

例如我们将数字列表中各项平方运算并排除奇数项:

def square_even(numbers):  for number in numbers:   if number % 2 == 0:     yield (number * number)numbers=[1,2,3,4,5,6]square_numbers=square_even(numbers)for number in square_numbers:  print(number)

输出结果:

如何正确的在python中使用推导式

使用生成器推导式显示为:

numbers=[1,2,3,4,5,6]square_numbers=(num *num for num in numbers if num % 2 ==0)for number in square_numbers:  print(number)

输出结果同上。

注意: 生成器推导式是使用 () ,其他基本结构跟列表推导式一样。

到此这篇关于如何正确的在python中使用推导式的文章就介绍到这了,更多相关的内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何正确的在python中使用推导式

本文链接: https://lsjlt.com/news/247543.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何正确的在python中使用推导式
    本文章向大家介绍如何正确的在python中使用推导式,主要包括如何正确的在python中使用推导式的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。python可以做什么Python是一种编程语...
    99+
    2023-06-06
  • 如何在python中正确的使用goto
    今天就跟大家聊聊有关如何在python中正确的使用goto,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-07
  • Python推导式如何使用
    本文小编为大家详细介绍“Python推导式如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python推导式如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。推导式什么是推导式推导式是 for 循环的...
    99+
    2023-06-30
  • 如何在正确的在JAVA中使用正则表达式
    这篇文章给大家介绍如何在正确的在JAVA中使用正则表达式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。...
    99+
    2023-06-06
  • 在Python中如何正确使用列表
    这篇文章主要介绍“在Python中如何正确使用列表”,在日常操作中,相信很多人在在Python中如何正确使用列表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Python中如何正确使用列表”的疑惑有所帮助!...
    99+
    2023-06-16
  • 如何正确的在Java8中使用lambda表达式
    如何正确的在Java8中使用lambda表达式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.基本介绍lambda表达式,即带有参数的表达式,为了更清晰地理解lambda...
    99+
    2023-05-31
    java8 lambda ava
  • Python中print如何正确使用
    Python中print如何正确使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python print会对输出的文本做自动的编码转换,而文件对象的write方法就不会做,因...
    99+
    2023-06-17
  • 正则表达式如何正确在Java项目中使用
    这篇文章将为大家详细讲解有关正则表达式如何正确在Java项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.匹配验证-验证Email是否正确public static void ma...
    99+
    2023-05-31
    java 正则表达式 ava
  • 在Java中如何正确的使用TreeSet
    这期内容当中小编将会给大家带来有关在Java中如何正确的使用TreeSet,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。...
    99+
    2023-05-31
    java treeset ava
  • HashSet如何正确的在Java中使用
    HashSet如何正确的在Java中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。HashSet 简介HashSet 是一个没有重复元素的集合。它是由HashMap实现...
    99+
    2023-05-31
    java hashset hs
  • setTimeout在vue中的正确使用方式
    目录setTimeout在vue中的正确使用遇到了1个坑问题出在我的格式上面解决vue在setTimeout内修改this失效使用箭头函数总结setTimeout在vue中的正确使用...
    99+
    2023-01-28
    vue使用setTimeout vue setTimeout setTimeout在vue使用
  • 如何在C++中正确使用ostringstream
    在C++中,ostringstream 是一个输出流类,可以用于将数据转换为字符串。下面是一个示例,展示如何在C++中正确使用ost...
    99+
    2023-09-27
    C++
  • lambda表达式如何正确的在Java8项目中使用
    这篇文章给大家介绍lambda表达式如何正确的在Java8项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在Java8 里面Lambda是最火的主题,不仅仅是因为语法的改变,更重要的是带来了函数式编程的思想,我...
    99+
    2023-05-31
    java8 lambda ava
  • 在python正则表达式中是怎样正确使用正则表达式
    这篇文章将为大家详细讲解有关在python正则表达式中是怎样正确使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在我们已经看了一些简单的正则表达式,那么我们实际在 Python...
    99+
    2023-06-17
  • mongodb如何正确的在Spring boot中使用
    这篇文章给大家介绍mongodb如何正确的在Spring boot中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MongoDB是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的...
    99+
    2023-05-31
    springboot mongodb
  • 如何在Java中正确的使用注解
    如何在Java中正确的使用注解?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。注解是jdk1.5新增的特性.大家都知道,jdk1.5在java的发展史上有着划时代的意义.而注...
    99+
    2023-05-31
    java 注解 ava
  • python中如何正确使用正则表达式的详细模式(Verbose mode expression)
    简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达...
    99+
    2022-06-04
    如何正确 模式 详细
  • python如何正确使用yield
    目录生成器nextsendthrowclose使用场景大集合的生成简化代码结构协程与并发总结生成器 如果在一个方法内,包含了 yield 关键字,那么这个函数就是一个「生成器」。 生成器其实就是一个特殊的迭代器,它...
    99+
    2022-06-02
    python yield 使用yield
  • python特有语法推导式如何使用
    这篇文章主要讲解了“python特有语法推导式如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python特有语法推导式如何使用”吧!列表推导式基本语法:[out_express fo...
    99+
    2023-06-29
  • 如何使用Python列表推导表达式
    小编给大家分享一下如何使用Python列表推导表达式,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用Python列表推导表达式列表推导表达式是从另一个列表创建列表的一种非常紧凑的方法。 看下面的代码。 第一个是使用简单的...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作