生成一個數據列表
# 初始化一個列表
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]
'''
【往期精彩】
● python常用轉義字符串總結:各種字符轉義的不同、如何取消轉義字符效果?
● 推薦一款python、excel集成的數據分析工具PyXLL-Jupyter!
● 如何使用python完成對WebService服務的調用?suds-py3插件安利一下!
● 介紹一款優秀的IDE Grid Studio,Excel深度集成python,直接編寫並執行python代碼塊!
● 十大開源軟件基金會你知道哪些?
● python內置函數通過字符串的方式來執行函數代碼塊,類似java的反射機制相當強大!
● python-Coverage 代碼覆蓋率統計工具,生成html代碼報告
● python程序的處理進度、可視化管理,對運行步驟一目了然!
● 磨刀不誤砍柴工,PyCharm開發工具的常規配置,充分提高開發效率!
● python-openpyxl Excel的單元格樣式設置,包括字體、樣式、寬高等等!
● 了解一下百度提供的python通用文字識別功能,距離百度AI近了一點點!
● 一句代碼生成的超炫二維碼
● python-docxtpl妙用:論文神器,excel習題集自動轉換成word文檔格式!
● 辦公室文員必備python神器,將PDF文件表格轉換成excel表格!
本文由WeiXin公眾號【python 集中營】一鍵發布,更多精彩文章、視頻資料即可領取!