zoukankan      html  css  js  c++  java
  • 零基础学python-13.3 列表解析简介与步骤分解

    1.修改列表

    前面我们已经提到过列表的修改,如下面的代码:

    >>> aList=[1,2,3,4,5]
    >>> for x in range(len(aList)):
    	aList[x]+=1
    
    	
    >>> aList
    [2, 3, 4, 5, 6]
    >>> 

    我们下面用一个更加简洁的方法,通过列表解析来修改列表

    >>> aList=[2,3,4,5,6]
    >>> aList=[x+1 for x in aList]
    >>> aList
    [3, 4, 5, 6, 7]
    >>> 

    列表解析的方法代码更少,运行速度更快


    2.分解列表解析

    我们还是以上面的代码为例子

    >>> aList=[2, 3, 4, 5, 6]
    >>> aList=[x+1 for x in aList]
    >>> aList
    [3, 4, 5, 6, 7]
    >>> 


    分解步骤:
    1)首先创建一个空列表

    2)迭代aList这个列表

    3)迭代的过程中aList里面每一个对象都进行+1的运算

    4)赋值到新的列表去


    我们将上面的步骤变成代码,就如下:

    >>> aList=[2, 3, 4, 5, 6]
    >>> newList=[]
    >>> for item in aList:
    	item+=1
    	newList.append (item)
    
    	
    >>> newList
    [3, 4, 5, 6, 7]
    >>> 

    我们再通过一段代码来验证上面的结论

    >>> aList=[1,2,3,4,5]
    >>> id(aList)
    34366728
    >>> aList=[x+1 for x in aList]
    >>> aList
    [2, 3, 4, 5, 6]
    >>> id(aList)
    4224904
    >>> 

    通过代码可以看见,aList在列表解析过后指向了不同的对象


    总结:这一章节从修改列表为切入口,介绍了列表解析的方法,然后在通过分解解析步骤来说明列表解析的内在原理。


    这一章节就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录

     



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    22、栈的应用-中缀表达式转后缀表达式
    21、栈的应用-就近匹配
    20、双向链表
    19、链式栈
    Eclipse 重新加载插件
    Asp.net web form 使用IOC(Unity) 构造函数注入Page,.net Framework 4.7.2
    asp.net webform 多语言
    sql server 生成数字辅助表
    查询指定数据库的慢语句
    2008 sql 揭秘 第4章的数据库脚本
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896751.html
Copyright © 2011-2022 走看看