(第七天)学习Python的推导式

目录

7.1 推导式

7.1.1 列表推导式

7.1.2 带if的列表推导式

7.1.3 多个for循环实现列表推导式

7.1.4 字典推导式

7.1.5 集合推导式


7.1 推导式

7.1.1 列表推导式

作⽤:⽤⼀个表达式创建⼀个有规律的列表或控制⼀个有规律列表。

列表推导式⼜叫列表⽣成式

示例:创建⼀个0- 9的列表

# 将0-9 加入到一个列表中 结果为[0,1,2,3,4,5,6,7,8,9]

#普通方法
#while
list1 = []
i = 0
while i < 10:
    print(i)
    #将0-9 以此加入到列表中
    list1.append(i)
    i += 1
print(list1)
print("========================")
#for
list2 = []
for i in range(10):
    print(i)
    list2.append(i)
print(list2)
print("======================")
#列表推导式
list3 = [ i for i in range(10)]
print(list3)

'''
0
1
2
3
4
5
6
7
8
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
========================
0
1
2
3
4
5
6
7
8
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
======================
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'''

7.1.2 带if的列表推导式

# 0-10 的偶数序列
# 第三个参数是步长 range实现
list1 = [i for i in range(0,10,2)]
print(list1)

#if实现 偶数加入lb
list2 = [i for i in range(10) if i % 2 == 0]
print(list2)
# 奇数加入列表
list3 = [i for i in range(10) if i % 2 == 1]
print(list3)

'''
[0, 2, 4, 6, 8]
[0, 2, 4, 6, 8]
[1, 3, 5, 7, 9]
'''

7.1.3 多个for循环实现列表推导式

需求:创建列表如下:[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

list1 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list1)
输出:[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

7.1.4 字典推导式

        字典推导式作⽤:快速合并列表为字典或提取字典中⽬标数据

#1 - 5 他的平方 {1:1 ,2:4, 3: 9,4 :16}
#普通
dict1 = {}
for i in range(1 ,5):
    print( i ,i **2)
    dict1[i] = i ** 2
    print(dict1)

# 1.字典推导式
dict2 = {i : i ** 3 for i in range(1 , 5)}
print(dict2)
print("====================")
# 2.将两个列表合并为⼀个字典
dict4={}
name_list = ["Tom","Jerry","Host"]
age_list = [18, 3 ,28]
for i in range(len(name_list)):
    print(name_list[i],age_list[i])
    dict4[name_list[i]] =age_list[i]
print(dict4)
# 3.字典推导式的方法
dict3 = {name_list[i]: age_list[i] for i in range(len(name_list))}
print(dict3)

'''
1 1
{1: 1}
2 4
{1: 1, 2: 4}
3 9
{1: 1, 2: 4, 3: 9}
4 16
{1: 1, 2: 4, 3: 9, 4: 16}
{1: 1, 2: 8, 3: 27, 4: 64}
====================
Tom 18
Jerry 3
Host 28
{'Tom': 18, 'Jerry': 3, 'Host': 28}
{'Tom': 18, 'Jerry': 3, 'Host': 28}
'''

7.1.5 集合推导式

# 生成一个集合 {4,25,81}
list = [2,5,9]
set1 = set()
for i in list:
    #print(i ** 2)
    set1.add(i ** 2)
print(set1)
print("=================================")
#  集合推导式的方法
set2 = {i **2 for i in list}
print(set2)

'''
{81, 25, 4}
=================================
{81, 25, 4}

'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值