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

  介绍

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

python可以做什么

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

前言

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

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

<强> python里有四种推导式:

<李>

列表推导式(列表理解)

<李>

字典推导式(字典理解)

<李>

集合推导式(理解)

<李>

生成器推导式(发电机理解)

一、列表推导式(列表理解)

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

数量=(1、2、3、4、5)   new_nums=[]   for  num 拷贝数字:   ,if  num> 0:   new_nums.append才能(num)   打印(new_nums)

输出结果:

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

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

数量=(1、2、3、4、5)   new_nums=[num  for  num 拷贝numbers  if  num> 0]      打印(new_nums)

输出结果同上。

<>强列表推导式的结构:

output_list =, (expression  for  var 拷贝input_list  if 条件)

这里的<强> 语如果条件句并不是必须有的。

二字典推导式(字典理解)

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

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

num=[1, 2, 3, 4, 5, 6, 7, 8)      dict={}   for  num  num拷贝:   ,if  num  % 2,==, 0:   dict才能(num),=, str (num)      打印(dict)

输出结果:

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

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

num=[1, 2, 3, 4, 5, 6, 7, 8)   dict={num: str (num), for  num 拷贝nums  if  num  %, 2,==, 0}      打印(dict)

输出结果同上。

<强>字典推导式的模板:

{关键:value  for (键值),拷贝dict  if 关键,value  satisfy 条件}

三,集合推导式(理解)

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

数量=[1,2,3,4,5,6,7,8)   filtered_nums=组()      for  num 拷贝数字:   if 才能;num  % 2,==, 0:   ,,filtered_nums.add (num)      打印(filtered_nums)

输出结果:

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

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

数量=[1,2,3,4,5,6,7,8)   filtered_nums={num  for  num 拷贝numbers  if  num  % 2,==, 0}      打印(filtered_nums)

输出结果同上。

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

四、生成器推导式(发电机理解)

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

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

def  square_even(数字):   for 才能;number 拷贝数字:   ,,if  number  %, 2,==, 0:   ,,,,油品收率(number  *,编号)      数量=(1、2、3、4、5、6)   square_numbers=square_even(数字)      for  number  square_numbers拷贝:   打印才能(数量)

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