日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

一篇文章帶你入門python之推導式_python

作者:二十四橋_ ? 更新時間: 2022-04-11 編程語言

一、dict推導式

list1 = ['name', 'age', 'gender']
list2 = ['zmz', '20', 'boy']
# 字典推導式 -- 快速合并列表為字典,或提取字典中的目標數據
# 例 1 -- key是數字,value是這個數字的平方
dict1 = {i: i ** 2 for i in range(1, 5)}
print(dict1)
# 例 2 -- 合并兩個列表,兩個列表長度相同
dict2 = {list1[i]: list2[i]for i in range(len(list1))}
print(dict2)
# 如果兩個列表長度不同,那么取 len(長度較短的列表)
# 例 3 -- 提取字典中滿足條件的數據
dict3 = {'Mac': 10000, 'Dell': 6599, 'HP': 6999, 'Lenovo': 5799, 'Acer': 4599}
print(dict3.items())
counts = {key: value for key, value in dict3.items() if value > 6000}
print(counts)

二、list推導式

"""
推導式(生成式) -- 是用來化簡代碼
推導式包含:
1.列表推導式
2.字典推導式
3.集合推導式
"""
# 用一個表達式創建一個有規律的列表或控制一個有規律的列表
list1 = []
# while實現
i = 0
while i < 10:
    list1.append(i)
    i += 1
print(list1)
# for 實現
list2 = []
for i in range(10, 20, 1):
    list2.append(i)
print(list2)
# 推導式實現
list3 = [i for i in range(-9, 2, 1)]  # for 的左側的 i 是返回值,創建列表當然用 []
print(list3)

print(sum([2 ** i for i in range(100)]))

三、set推導式

# 集合推導式 -- 主要用來根據列表創建集合
list1 = [2, 3, 4, 2, 5, 3]
set1 = {i ** 2 for i in list1}
print(set1)
t1 = (10, 20, 30, 40, 50)
print(t1)
t2 = (i * 2 for i in t1)
print(t2)  # 打印不出來

四、含if推導式

"""
創建0 - 10 的偶數列表
"""
# 方法一
list1 = [i for i in range(0, 11, 2)]
print(list1)
# 方法二
list2 = []
for i in range(11):
    if i % 2 == 0:
        list2.append(i)
print(list2)
# 方法三
list3 = [i for i in range(11) if i % 2 == 0]  # 列表推導式其實就是根據for 循環化簡得來的
print(list3)

五、含for推導式

list = []
for i in range(1, 3):
    for j in range(3):
        list.append((i, j))
print(list)
print("==================")
list1 = [(i, j) for i in range(5) for j in range(5)]  # for循環嵌套
count = 0
for i in list1:
    count += 1
    print(i, end='')
    if count % 5 == 0:
        print()

總結

原文鏈接:https://blog.csdn.net/Zzzzzz_m/article/details/122785851

欄目分類
最近更新