本文章向大家介绍如何正确的在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)
输出结果:
但如果我们用列表推导式来实现,那么这个过程就短得多,只需要一行代码:
数量=(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)
输出结果:
如果我们使用字典推导式,就会简洁的多:
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)
输出结果:
如果我们使用集合表达式来表示:
数量=[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中使用推导式