美文网首页python初学者程序员
跟我读python3文档:011_列表(3.1.3. Lists

跟我读python3文档:011_列表(3.1.3. Lists

作者: 咖喱py | 来源:发表于2017-08-27 22:18 被阅读92次

    贯穿始终的理念:别废话,就是干!


    往期回顾

    • 操作符%、//、**都是什么意思?
    • 什么是数据类型
    • 两数相除,结果是什么数据类型。
    • 转义字符
    • 分片
    • 索引

    文档解读

    python3文档第三小节链接地址:3. An Informal Introduction to Python

    本章主要讲解3.1.3. Lists(列表)这个小节


    3.1.3. Lists(列表)

    鉴于我们在之前的章节已经讲解列表了(用大楼举的例子),所以,这次,我们直接来看下面的代码吧~

    >>> squares = [1, 4, 9, 16, 25]  #赋值操作
    >>> squares  #打印变量的值
    [1, 4, 9, 16, 25]
    
    >>> squares[0]  #索引操作,还记得上一期的内容吗,我们说,字符串是特殊的列表
    1
    >>> squares[-1] #负数下标,还记得下标是什么吗?
    25
    >>> squares[-3:]  # 分片操作
    [9, 16, 25]
    

    还记得分片基本要素吗?

    • 方括号下标
    • 分号
    • 范围(左取右舍,可以为空。)
      思考题:两个范围都为空时,切片取值是什么?
    >>> squares = [1, 4, 9, 16, 25]
    >>> squares[ : ]
    

    自己输入试试看~

    还记得字符串里,加号+和乘号 * 的作用吗?
    在列表中,他们也有相同的作用,不废话,直接上代码:

    >>> squares = [1, 4, 9, 16, 25]
    >>> squares + [36, 49, 64, 81, 100]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    自己动手试试下面的代码,看看和你预计的结果一样吗?

    >>> a = [123,987]
    >>> a * 3
    
    

    以上内容,和我们上一期讲解的字符串基本上没有区别。但下面的内容就要注意了。

    还记得我们说字符串是特殊的列表,它特殊在哪里吗?

    段落截取(一)

    Unlike strings, which are immutable, lists are a mutable type,i.e. it is possible to change their content

    名词解释

    1. immutable
      不可改变的
    2. mutable
      可变的
    3. i.e.
      这是英语中一种常见的缩写形式,相当于 that is
      中文翻译为:也就是

    段落大意

    字符串值不可改变,列表值可变。

    我们还是直接来看代码:

    >>> a = [1, 8, 27, 65, 125]  
    
    >>> a[3] = 64  # 将3号值改为64。注意:序号是从0开始的。
    >>> a
    [1, 8, 27, 64, 125]
    

    思考题:

    既然列表值是可变的,那么能不能一次变换多个值?
    提示:参考分片

    自己先尝试在解释器里写一下,之后在看下面的答案。


    答案:

    >>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    >>> letters[2:5] = ['C', 'D', 'E']
    >>> letters
    ['a', 'b', 'C', 'D', 'E', 'f', 'g']
    >>> #思考:如何删除改变的值?
    >>> letters[2:5] = []
    >>> letters
    ['a', 'b', 'f', 'g']
    >>> # 思考:如何删除全部值?
    >>> letters[:] = []
    >>> letters
    []
    

    本期拓展

    在python语言中,有一句话叫:一切皆对象。
    要理解这句话,你首先要理解什么是对象。
    对象,可以看成是一种特殊的数据类型,这种数据类型是由多种东西组成的。其中包括变量、包括函数。
    如何理解呢?比如列表就是一个对象,列表里可以包含多个值。
    比如:

    >>> a = [123, 'b', '432', [234, 432] ]
    >>> c = [234, a]
    
    

    但是,你不知道的是,列表里也包含函数。只不过它没有显示出来而已。
    比如:append()函数。我们可以通过“”来调用列表的函数。
    (append()函数的作用是在列表末尾加上其他值。组成全新的列表。)

    >>> cubes = [1, 8, 27, 64, 125]
    >>> cubes.append(216)  # 在末尾加上216
    >>> cubes.append(7 ** 3)  # 在末尾加上7的3次方
    >>> cubes
    [1, 8, 27, 64, 125, 216, 343]
    

    通过这个例子,能理解对象这个特殊类型了吗?
    我们一般把对象里的变量叫做属性,把对象里的函数叫做方法
    具体内容,我们等到讲对象时,在具体介绍。

    本期依旧省略了很多内容,比如列表的方法,列表里面再装列表等。
    想提高的同学,可以试着自己解读。

    相关文章

      网友评论

      • biaoqianwo:到今天我才恍然明白变量与属性,函数和方法的区别,后者是放到对象里的叫法
        咖喱py:多看文档,你还会有更多发现~

      本文标题:跟我读python3文档:011_列表(3.1.3. Lists

      本文链接:https://www.haomeiwen.com/subject/xnuidxtx.html