推导式创建序列

推导式是一种简洁的方式来创建序列(如列表、集合、字典等)的方法。它们可以通过在一行代码中定义和填充序列,减少了传统循环的编写量。

一、列表

列表推导式(List Comprehension): 列表推导式用于创建列表

语法形式为:[表达式 for item in 可迭代对象 if 条件判断]。

示例 1: 创建一个包含平方数的列表

squares=[x**2 for x in range(1,6)]
print(squares)#输出:[1,4,9,16,25]

也可以用for循环遍历实现,示例

squares=[]
for i in range(1,6):
    squares.append(i**2)
print(squares)

示例 2: 过滤奇数并创建一个新列表

#列表推导式
numbers=[1, 2, 3, 4, 5, 6]
evens=[x for x in numbers if x%2==0]
print(evens)#输出:[2, 4, 6]


二、字典

字典推导式(Dictionary Comprehension): 字典推导式用于创建字典

语法形式为:{key_expression: value_expression for item in 可迭代对象 if 条件判断}。

示例: 创建一个字典,将数字映射为其平方数

numbers=[1, 2, 3, 4, 5]
square_dict={x: x**2 for x in numbers}
print(square_dict)#输出: {1: 1,2:4,3:9,4:16,5:25}

三、集合

集合推导式(Set Comprehension): 集合推导式用于创建集合

语法形式为:{表达式 for item in iterable if 条件判断}。

示例: 创建一个包含偶数的集合

numbers=[1, 2, 3, 4, 5, 6]
evens={x for x in numbers if x%2==0}
print(evens)#输出:{2,4,6}

示例:统计文本中字符出现的次数(使用字典推导式)

my_text="i love you and you love me"
char_count={c:my_text.count(c) for c in my_text}
print(char_count)

四、元组

生成器表达式(Generator Expression): 生成器表达式类似于列表推导式,但它返回一个生成器对象,而不是创建一个完整的列表。语法形式为:(表达式 for item in 可迭代对象 if 条件判断)。

示例: 创建一个生成器对象,生成平方数

numbers=[1,2,3,4,5]
square_generator=(x**2 for x in numbers)
print(square_generator)#输出: <generator object <genexpr> at 0x7f9a6d8f2a50>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值