打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编程语言python经典有序序列的list列表推导式实践运用

file

【阅读全文】

生成一个数据列表

# 初始化一个列表
list_1 = []

# 使用循环生成一个列表数据
for val in range(0,20,1):
    # 加入集合
    list_1.append(val)

# 打印列表数据
print(list_1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

使用列表推导式生成该数据列表

# 列表推导式生成列表数据
list_2 = [i for i in range(20)]

# 打印列表数据
print(list_2)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

'''
分析:
1、使用一行代码的列表推导式就完成了该列表的生成
2、[i for i in range(20)],第一个i元素代表向列表list_2中添加的元素
3、[i for i in range(20)],第二个i元素代表for循环遍历的i元素
'''

使用列表推导式生成只有偶数的数据列表

# 在基本列表推导式的基础上加入条件判断
list_3 = [i for i in range(20) if i % 2 == 0]

# 打印列表推导式
print(list_3)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

'''
分析:
[i for i in range(20) if i % 2 == 0],第三个if后面的i元素,
相当于是在for循环内部提取其中的i元素作条件校验。
'''

双重循环的列表推导式

# 既然是双重循环则需要定义两个变量a、b
list_4 = [(a,b) for a in range(4) for b in range(5)]

# 由于打印结果是列表中包含元组信息,使用pprint可以美观的打印数据
from pprint import pprint

# 打印列表推导式
pprint(list_4)
# [(0, 0),
#  (0, 1),
#  (0, 2),
#  (0, 3),
#  (0, 4),
#  (1, 0),
#  (1, 1),
#  (1, 2),
#  (1, 3),
#  (1, 4),
#  (2, 0),
#  (2, 1),
#  (2, 2),
#  (2, 3),
#  (2, 4),
#  (3, 0),
#  (3, 1),
#  (3, 2),
#  (3, 3),
#  (3, 4)]

'''
分析:
其中a、b分别对应第一个和第二个for循环的遍历元素a、b,
同样可以加入a、b元素的条件校验,比如可以写成如下的列表推导式
list_5 = [(a,b) for a in range(4) if a % 2 == 0 for b in range(5) if b % 2 == 0]
'''
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
python 列表推导公式及练习题
Python基础 | 你应该掌握的generator (一)
Tip:Python中xrange和range区别
python3 小白教程(二)控制结构
python中万能的列表,你会了吗?
数据结构与算法导论
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服