练习28(列表推导式,生成器表达式)

本文介绍了Python中的列表推导式和生成器表达式,展示了如何用简洁的代码创建列表和处理数据。通过多个示例,如创建数字列表、筛选偶数、计算平方等,阐述了它们的使用方法。同时,提到了列表推导式的优点和缺点,并对比了生成器表达式的内存效率。最后,讨论了字典推导式及其在处理字典数据时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习28

# l1 = []
# for i in range(1,101):
#     l1.append(i)
# print(l1)

# 列表推导式: 一行代码几乎搞定你需要的任何的列表
    # 循环模式 [变量(加工后的变量) for 变量 in iterable]
# l = [ i for i in range(1,101)]
# print(l)

# l = ['python%s期' % i for i in range(1,16)]
# print(l)

# l = [i**2 for i in range(1,11)]
# print(l)
    # 筛选模式 [变量(加工后的变量) for 变量 in iterable if 条件]
# l = [i for i in range(1,31) if i % 2 ==0]
# print(l)

# l = [i for i in range(31) if i%3 == 0]
# print(l)

# l = [i**2 for i in range(31) if i%3 == 0]
# print(l)

# names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
#          ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
# l = [j for i in names for j in i if j.count('e')==2]
# print(l)

# 列表推导式
# 优点: 一行解决,方便
# 缺点: 容易着迷,不易排错,不能超过三次循环
# 列表推导式不能解决所有列表的问题,所以不要太可以用

# 生成器表达式: 将列表推导式的 [] 换成 () 即可
# g = (i for i in range(1000000000))
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())

# 字典推导式
# mcase = {'a': 10, 'b': 34}
# mcase_frequency = {mcase[k]:k for k in mcase}
# for k in mcase:
#     print(k)
# print(mcase_frequency)

# mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
# mcase_frequency = {k.lower():mcase.get(k.lower(),0)+mcase.get(k.upper(),0)
#                    for k in mcase.keys()}
# print(mcase_frequency)

# squared = {x**2 for x in [1, -1, 2]}
# print(squared)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值