⑨ 推导式

推导式


① while、for 规律列表


while 有规律列表


需求:创建一个0 - 9 的列表

  • while 循环实现 有规律列表

    '''
    1.1 创建空列表
    1.2 循环将有规律数据写入 列表
    '''
    list1 = []
    
    i = 0
    while i < 10:
    	list1.append(i)
    	i += 1
    	
    print(list1)
    -------------------------------------------------------
    # 输出结果
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    

for 有规律列表


需求:创建一个0 - 9 的列表

  • for 循环实现 有规律列表

    '''
    1.1 创建空列表
    1.2 循环将有规律数据写入 列表
    '''
    list2 = []
    
    for i in range(10):
    	list2.append(i)
    
    print(list2)
    -------------------------------------------------------
    # 输出结果
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    

② 推导式(列表)

推导式的作用:化简代码。推导式只支持列表、字典、集合。

1、列表推导式


  • 作用:用一个表达式 创建一个有规律的列表或控制一个有规律的列表。 列表推导式又叫列表生成式。

    语法:

    list = [返回值 for i in range()]
    

    实例:

    list1 = [i for i in range(10)]
    
    print(list1)
    -------------------------------------------------------
    # 输出结果
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    

2、if 列表推导式


需求:创建0-10偶数列表

  • 方法一:range( )步长实现

    list1 = [i for i in range(0,11,2)]
    
    print(list1)
    -------------------------------------------------------
    # 输出结果
    [0, 2, 4, 6, 8, 10]
    
    
  • 方法二:if( )推导式实现

    list2 = [i for i in range(11) if i % 2 == 0]
    
    print(list2)
    -------------------------------------------------------
    # 输出结果
    [0, 2, 4, 6, 8, 10]
    
    

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


多个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)]
    
    

③ 推导式(字典)


推导式的作用:化简代码。推导式只支持列表、字典、集合。

1、字典推导式


  • 作用:快速合并列表字典或提取字典中目标数据。

    语法:

    dict1 = {key:value for i in range()}
    

    实例:

    '''
    	需求:创建一个字典:字典key是1-5数字,value是这个数字的2次方
    '''
    dict1 = {i:i**2 for i in range(6)}
    
    print(dict1)
    -------------------------------------------------------
    # 输出结果
    {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
    
    

2、合并 两个列表为字典


  • 需求:合并两个列表字典。

    实例:

    list1 = ['name','age','gender']
    list2 = ['Tom',20,'man']
    
    dict1 = {list1[i]:list2[i] for i in range(len(list2))}
    print(dict1)
    -------------------------------------------------------
    # 输出结果
    {'name': 'Tom', 'age': 20, 'gender': 'man'}
    
    

3、提取字典中 目标数据


# 一个月各电脑销售额
counts = {'MBP':268, 'Hp':125, 'DELL': 201, 'Lenovo':199, 'acer':99}

# 需求:提取上述电脑数量大于200的字典数据(方便囤货)
count1 = {key:value for key,value in counts.items() if value >= 200}

print(count1)
-------------------------------------------------------
# 输出结果
{'MBP': 268, 'DELL': 201}



② 推导式(集合)


1、集合推导式


需求:创建一个集合,数据为下方列表的2次方。

list1 = [1,2,3]

实例如下:

list1 = [1,2,3]

set = {i ** 2 for i in list1}
print(set)
-------------------------------------------------------
# 输出结果
{1, 4, 9}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python推导是一种简洁的语法糖,可以从一个数据序列构建另一个新的数据序列。常见的推导包括列表推导、字典推导和集合推导列表推导可以通过对一个列表进行迭代和筛选操作,生成一个新的列表。字典推导可以通过对一个字典进行迭代操作,生成一个新的字典。而集合推导则可以通过对一个集合进行迭代和筛选操作,生成一个新的集合。推导在数据处理场景中非常常见,并可以大大简化代码的编写和阅读。如果你想了解更多关于推导的语法和用法,请参考引用和引用中提供的链接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python推导简单示例【列表推导、字典推导与集合推导】](https://download.csdn.net/download/weixin_38708361/12865890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python推导](https://blog.csdn.net/iprobobo/article/details/123582135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值