
一、串列推導式與普通方法對比
# 例1:while回圈創建list list0 = [] i = 0 while i < 10: list0.append(i) i += 1 print(list0) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 例2:for回圈創建list list1 = [] for num in range(10): list1.append(num) print(list1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 例3.1:串列推導式創建list list2 = [i for i in range(10)] print(list2) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 例3.2:帶if的串列推導式 list3 = [i for i in range(1, 10) if i % 2 == 0] print(list3) # [2, 4, 6, 8]
由上面可以看出:
代碼代碼量:while回圈>for回圈>推導式
推導式本質是for回圈的化簡

二、字典推導式
# 1、創建字典推導式 dict1 = {i: i**2 for i in range(1, 5)} print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16} # 2、字典推導式合并數列為字典 list1 = ['name', 'age'] list2 = ['Tom', 20] dict2 = {list1[i]: list2[i] for i in range(len(list1))} print(dict2) # {'name': 'Tom', 'age': 20} # 3、字典推導式提取 dict3 = {'MBP': 220, 'hp': 123, 'dell': 125} count1 = {key: value for key, value in dict3.items() if value >= 200} print(count1) # {'MBP': 220}
三、集合推導式
set1 = {i**2 for i in range(3)}
print(set1) # {0, 1, 4}
list1 = [1, 1, 2]
set2 = {i**2 for i in list1}
print(set2) # {1, 4} 集合有去重功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/179259.html
標籤:Python
