python入门之推导式

python入门之推导式,第1张

python入门之推导

文章目录

一、dict推导式二、list推导式三、set推导式四、含if推导式五、含for推导式


一、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://outofmemory.cn/zaji/5720962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存