当前位置:   article > 正文

「Python系列」Python推导式_python 推导式

python 推导式

一、Python推导式

Python推导式是一种简洁且高效的代码编写方式,可以在一行代码中完成常见的循环和集合操作。Python推导式包括列表推导式、字典推导式、集合推导式和生成器推导式。

  1. 列表推导式:可以根据一个已有的列表生成一个新的列表。
例如:new_list = [x*2 for x in old_list]

  • 1
  • 2
  1. 字典推导式:可以根据一个已有的字典生成一个新的字典。
例如:new_dict = {key: value for key, value in old_dict.items() if value > 0}

  • 1
  • 2
  1. 集合推导式:可以根据一个已有的集合生成一个新的集合。
例如:new_set = {x for x in old_set if x % 2 == 0}

  • 1
  • 2
  1. 生成器推导式:可以根据一个已有的生成器生成一个新的生成器。
例如:new_generator = (x for x in old_generator if x > 0)

  • 1
  • 2

推导式可以在一行代码中完成循环和条件判断,比传统的方法更简洁和高效。然而,当推导式的逻辑较为复杂时,为了代码的可读性和可维护性,可能需要使用传统的方法来实现。

二、Python列表推导式

Python列表推导式是一种简洁的语法形式,可以根据已有的列表快速生成一个新的列表。列表推导式的基本语法是在一个方括号内使用一个表达式,并通过一个for循环来迭代原始列表的元素。

下面是一个简单的示例:

# 生成一个包含原始列表中每个元素的平方的新列表
original_list = [1, 2, 3, 4, 5]
new_list = [x**2 for x in original_list]
print(new_list)
  • 1
  • 2
  • 3
  • 4

输出结果为:

[1, 4, 9, 16, 25]
  • 1

列表推导式也可以包括条件判断,以过滤原始列表的元素。下面是一个带有条件判断的示例:

# 生成一个新列表,包含原始列表中大于等于3的元素的平方
original_list = [1, 2, 3, 4, 5]
new_list = [x**2 for x in original_list if x >= 3]
print(new_list)
  • 1
  • 2
  • 3
  • 4

输出结果为:

[9, 16, 25]
  • 1

列表推导式可以简化代码,使其更加简洁和易读。然而,在处理复杂的逻辑时,为了可读性和可维护性,可能需要考虑使用传统的循环和条件判断来实现。

三、Python字典推导式

Python字典推导式是一种快速创建字典的方法,类似于列表推导式。它使用大括号{}和键值对的形式来定义字典,并通过一个for循环来迭代原始数据。

下面是一个简单的示例,使用字典推导式将一个列表的元素作为键,它们的平方作为值,创建一个新的字典:

# 创建一个字典,将原始列表中的元素作为键,它们的平方作为值
original_list = [1, 2, 3, 4, 5]
new_dict = {x: x**2 for x in original_list}
print(new_dict)
  • 1
  • 2
  • 3
  • 4

输出结果为:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
  • 1

字典推导式也可以包括条件判断,通过过滤原始数据来创建字典。下面是一个带有条件判断的示例,只创建原始列表中大于等于3的元素的平方作为键值对:

# 创建一个字典,只包含原始列表中大于等于3的元素的平方
original_list = [1, 2, 3, 4, 5]
new_dict = {x: x**2 for x in original_list if x >= 3}
print(new_dict)
  • 1
  • 2
  • 3
  • 4

输出结果为:

{3: 9, 4: 16, 5: 25}
  • 1

字典推导式是一个灵活且简洁的方式来创建字典,但当处理复杂逻辑时,为了代码的可读性和可维护性,可能需要使用传统的循环和条件判断来实现。

四、Python集合推导式

Python集合推导式是一种快速创建集合的方法,类似于列表推导式和字典推导式。它使用大括号{}来定义集合,并通过一个for循环来迭代原始数据。

下面是一个简单的示例,使用集合推导式将一个列表的元素添加到集合中:

# 创建一个集合,将原始列表中的元素添加到集合中
original_list = [1, 2, 2, 3, 4, 4, 5]
new_set = {x for x in original_list}
print(new_set)
  • 1
  • 2
  • 3
  • 4

输出结果为:

{1, 2, 3, 4, 5}
  • 1

可以看到,集合推导式自动去除了重复的元素,只保留了原始列表中的不同元素。

除了简单的迭代,集合推导式还可以包括条件判断和表达式。下面是一个带有条件判断的示例,只添加原始列表中大于等于3的元素到集合中:

# 创建一个集合,只包含原始列表中大于等于3的元素
original_list = [1, 2, 3, 4, 5]
new_set = {x for x in original_list if x >= 3}
print(new_set)
  • 1
  • 2
  • 3
  • 4

输出结果为:

{3, 4, 5}
  • 1

集合推导式是一个简洁且高效的方式来创建集合,但当处理复杂逻辑时,为了代码的可读性和可维护性,可能需要使用传统的循环和条件判断来实现。

五、Python元组推导式

元组是一种不可变的数据类型,它的元素无法修改。因此,没有必要使用推导式来创建或修改元组。

列表推导式、字典推导式和集合推导式都是为了创建可变的数据类型,例如列表、字典和集合。而元组则是一种不可变的数据类型,一旦创建,就无法修改其中的元素。

如果你想创建一个元组,可以直接使用小括号()将元素括起来,或者使用内置的tuple()函数将可迭代对象转换为元组。例如:

# 创建一个元组
my_tuple = (1, 2, 3)
print(my_tuple)  # 输出:(1, 2, 3)

# 使用tuple()函数将列表转换为元组
my_list = [4, 5, 6]
my_tuple = tuple(my_list)
print(my_tuple)  # 输出:(4, 5, 6)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Python中没有元组推导式的概念,因为元组是不可变的数据类型。你可以直接使用小括号来创建元组,或者使用tuple()函数将可迭代对象转换为元组。

以上就是“「Python系列」Python推导式”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/845245
推荐阅读
相关标签
  

闽ICP备14008679号