Python 编程必备技能:推导式。简化代码,提高效率

本文介绍了Python中的推导式,包括列表推导式、集合推导式和字典推导式,以及如何使用表达式、可迭代对象和条件进行数据结构的快速生成,提升代码简洁性和可读性。
摘要由CSDN通过智能技术生成

        在 Python 中,推导式(Comprehension)是一种简洁、高效的语法,用于快速生成列表、集合、字典等数据结构。

Python 支持以下三种推导式:

1.列表推导式(List Comprehension)

列表推导式可以用于快速生成列表。语法格式为:

[expression for item in iterable if condition]

其中,expression 是一个表达式,用于计算列表中的元素;item 是可迭代对象中的元素;iterable 是可迭代对象,例如列表、元组、字符串等;condition 是一个可选的条件,用于过滤元素。

例如,生成一个 1~10 的平方数列表:

# 1. 列表推导式(List Comprehension)
squares = [x**2 for x in range(1, 11)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2.集合推导式(Set Comprehension)

集合推导式可以用于快速生成集合。语法格式与列表推导式类似,只是使用 {} 括号表示集合。

{expression for item in iterable if condition}

例如,生成一个 1~10 的平方数集合:

# 2.集合推导式(Set Comprehension)

squares = {x**2 for x in range(1, 11)}
print(squares) # {64, 1, 4, 36, 9, 16, 49, 81, 25, 100}

3.字典推导式(Dictionary Comprehension)

字典推导式可以用于快速生成字典。语法格式为:

{key_expression: value_expression for item in iterable if condition} 

其中,key_expressionvalue_expression 分别是计算字典键和值的表达式。

例如,生成一个 1~10 的平方数字典:

# 3.字典推导式
squares = {x: x**2 for x in range(1, 11)}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

4.带条件推导式 if

1.[expression for item in iterable if condition] 满足condition的元素会被过滤

squares = [x**2 for x in range(1, 11) if x%2==0]
print(squares) # [4, 16, 36, 64, 100]

2.[expression1 if condition else expression 2 for item in iterable ]

squares = [x ** 2 if x % 2 == 0 else 2 * x for x in range(1, 11)]
print(squares)  # [2, 4, 6, 16, 10, 36, 14, 64, 18, 100]

总的来说,推导式是 Python 中非常常用的语法,可以方便地生成列表、集合、字典等数据结构,提高代码的简洁性和可读性。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值