当前位置:   article > 正文

啥是Python的推导式_python推导式

python推导式

        Python中的推导式(Comprehension)是一种简洁的语法,用于快速生成列表、字典、集合和生成器等对象。常见的推导式包括列表推导式、字典推导式和生成器推导式。

        1.列表推导式

        列表推导式用于快速生成列表,通常使用一行代码即可完成。它的基本语法为:

[expression for item in iterable if condition]

        其中,expression是用于生成列表元素的表达式,item是用于迭代的变量,iterable是可迭代对象,condition是可选的过滤条件。例如:        

  1. # 生成一个包含1到10的平方的列表
  2. squares = [i ** 2 for i in range(1, 11)]
  3. print(squares) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  4. # 生成一个包含偶数的列表
  5. evens = [i for i in range(1, 11) if i % 2 == 0]
  6. print(evens) # 输出:[2, 4, 6, 8, 10]

        2.字典推导式

        字典推导式用于快速生成字典,也通常使用一行代码即可完成。它的基本语法为:

{key_expression: value_expression for item in iterable if condition}

        其中,key_expression是用于生成字典键的表达式,value_expression是用于生成字典值的表达式,item是用于迭代的变量,iterable是可迭代对象,condition是可选的过滤条件。例如:

  1. # 生成一个包含1到10的数字及其平方的字典
  2. squares_dict = {i: i ** 2 for i in range(1, 11)}
  3. print(squares_dict) # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
  4. # 生成一个包含偶数的字典
  5. evens_dict = {i: i * 2 for i in range(1, 11) if i % 2 == 0}
  6. print(evens_dict) # 输出:{2: 4, 4: 8, 6: 12, 8: 16, 10: 20}

        3.生成器推导式

        生成器推导式也用于快速生成数据,但是它返回的是一个生成器对象,而不是列表或字典。它的基本语法与列表推导式类似,只需要将[]换成()即可。例如:

  1. # 生成一个包含1到10的平方的生成器对象
  2. squares_gen = (i ** 2 for i in range(1, 11))
  3. print(squares_gen)

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

闽ICP备14008679号