Python的学习笔记---list和tuple

今天学习了python的list和tuple的使用,python中的数组类型的结构比其他语言更为灵活,下面我们说说他们的用法:

list使用

  1. 定义一个list

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    >>> arr=[1,2,3,4,5,6]
    >>> arr
    [1, 2, 3, 4, 5, 6]
    ```
    `arr`就是定义的数组,使用索引来获得数组里面的数据如:`arr[0],arr[1]`等等,在python数组有一个特殊的用法,使用`-1,-2`可以取倒数第一或第二的值。

    ``` python
    >>> arr[0]
    1
    >>> arr[-1]
    6
    ```

    如果超出界限,会抛出异常:

    ``` ex
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    IndexError: list index out of range
    ```

    由于python是弱类型的语言,所以数组里面可以存储不同类型的数据:

    ```python
    >>> arr=[1,2,"hello",[1,2,34]]
    >>> arr
    [1, 2, 'hello', [1, 2, 34]]
    ```
    如果想拿到`34`这个值,可以类似二维数组那样`arr[3][2]`

    可以使用`range`函数快速定义个有序的数组:

    ```python
    >>> list(range(10))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>

    range的具体的使用方法range(start, stop[, step])
    range(1,10,2)代表的从1-10每次长度的2

  1. 数组的相关的函数

    • len 获得数组的长度

      1
      2
      >>> len(arr)
      4
    • append 增加一个元素

      1
      2
      3
      4
      >>> arr.append("1111")
      >>> arr
      [1, 2, 'hello', [1, 2, 34], '1111']
      >>>
    • insert插入数据

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
           >>> arr.insert(1,213)
      >>> arr
      [1, 213, 2, 'hello', [1, 2, 34], '1111']
      ```

      `insert(1,213)`代表在`1`位置,插入一个`213`的数字


      - `pop`删除元素

      `pop`是`python`中删除元素的方法,`arr.pop()`默认删除最后一个元素,`arr.pop(i)`代表可以删除指定位置的元素:

      ```python
      >>> arr.pop()
      '1111'
      >>> arr
      [1, 213, 2, 'hello', [1, 2, 34]]
      >>>
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
                >>> arr.pop(1)
      213
      >>> arr
      [1, 2, 'hello', [1, 2, 34]]
      ```

      #### tuple的使用

      `tuple`是一个有序的数组,和`list`类似,`tuple`的特点是定义后不能在被修改,这样可以让代码中的数据更加安全。

      定义`tuple`使用`()`,例如定义一个`tuple`如下:

      ```python
      >>> tup=(1,2,3)
      >>> tup
      (1, 2, 3)
      ```

      由于`tuple`不可修改,所以不能使用`append`,`insert`等修改元祖的方法。

      如果定义一个只有一个元素的`tuple`:

      ```python
      >>> tup=(1)
      >>> tup
      1

      这样我们发现,tup不是一个元祖,而是一个数字。原来是只用一个元素的时候,tuple中的()与数学运算中的括号冲突了,所以当定义只有一个元素的tuple的时候,需要在最后加一个,,方法如下:

1
2
3
>>> tup=(1,)
>>> tup
(1,)

如果在tuple中定义一个数组,如果改变数组的值,tuple中的值也会发生改变:

1
2
3
4
5
>>> tup=(1,[1,2])
>>> tup[1][0]="a"
>>> tup[1][1]="b"
>>> tup
(1, ['a', 'b'])

Python的学习笔记---list和tuple

http://blog.laofu.online/2019-03-06-python-list/

作者

付威

发布于

2019-03-06

更新于

2019-03-06

许可协议

评论