Python 列表推导式是什么
列表推导式是 Python 语言特有的一种语法结构,也能够看成是 Python 中一种独特的数据处理形式,
它在 Python 中用于 转换 和 过滤 数据。
其语法格局如下所示,其中 [if 条件表达式] 可省略。
[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]]
1.
留神:学习列表推导式的前提是把握 Python for 循环。
列表推导式中存在两个名词,一个是 列表,另一个是 推导式,列表咱们很分明,就是 Python 的一种数据类型,
而推导式只是一个一般的语法定义词,有的教程里,会将其叫做 解析式,二者是一样的概念。
列表推导式会返回一个列表,因而它实用于所有须要列表的场景。
怎么用
用于转换数据
能够将可迭代对象(个别是列表)中的数据,批量进行转换操作,例如将下述列表所有元素翻两倍。
my_list = [1,2,3]
代码如下所示:
my_list = [1, 2, 3]
new_list = [item * 2 for item in my_list]
print(new_list)
后果能够自行编译运行。
把握上述语法的关键点是 item,请重点关注 item 从 my_list 遍历而来,并且 item*2 尾部与 for 循环存在一个空格。
用于过滤数据
列表表达式,能够将列表中满足条件表达式的值进行筛选过滤,获取指标数据。
my_list = [1, 2, 3]
new_list = [item for item in my_list if item > 1]
print(new_list)
把握上述语法的要害是 if,其余要点是留神语法编写构造。
接下来你能够尝试将上述编程逻辑,批改为 for 循环语法,学习过程中要着重了解以上两种语法结构能够互相转换,
当你能够无缝将二者进行转换时,该技能你就把握了。
有些人会将列表推导式当做 for 循环的简化版。
进步场景
再次查看推导式语法结构中,波及了一个关键字,叫做 可迭代对象,因为咱们能够把本人目前把握的所有可迭代对象,
都进行一下尝试,例如应用 range() 函数。
my_list = [1, 2, 3]
new_list = [item for item in range(1, 10) if item > 5]
print(new_list)
测验是否把握,能够答复下述两个问题。
如果可迭代对象是一个字典,你该如何操作?
如果可迭代对象地位应用了 enumerate() 函数,你该如何操作?
除了可迭代对象局部能够扩大知识点,if 表达式 中的 条件表达式 也反对各种布尔运算,如果用中文进行翻译,
示意把满足条件的元素,搁置到新的列表中。
扩大常识
因为列表推导式波及了数据类型,所以可大胆推断,还存在其它推导式语法,Python 也的确是这样设计的。
你能够持续学习下述内容,而且知识结构基本一致。
字典推导式
汇合推导式
生成器推导式
列表推导式的学习,不要过于在意细节,也无需要求学会即把握,因为该知识点属于语法糖(编程小技巧),
所以在初学阶段,理解即可,随着编程学习的深刻,你会自然而然的将可用推导式的中央,批改为推导式。
以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注 Python 技术大本营,获取更多技能与教程。