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

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

list使用

  1. 定义一个list

    1
    2
    3
    >>> arr=[1,2,3,4,5,6]
    >>> arr
    [1, 2, 3, 4, 5, 6]

    arr就是定义的数组,使用索引来获得数组里面的数据如:arr[0],arr[1]等等,在python数组有一个特殊的用法,使用-1,-2可以取倒数第一或第二的值。

    1
    2
    3
    4
    >>> arr[0]
    1
    >>> arr[-1]
    6

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

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

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

    1
    2
    3
    >>> arr=[1,2,"hello",[1,2,34]]
    >>> arr
    [1, 2, 'hello', [1, 2, 34]]

    如果想拿到34这个值,可以类似二维数组那样arr[3][2]

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

    1
    2
    3
    >>> 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

  2. 数组的相关的函数

    • 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
      >>> arr.insert(1,213)
      >>> arr
      [1, 213, 2, 'hello', [1, 2, 34], '1111']

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

    • pop删除元素

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

      1
      2
      3
      4
      5
      >>> 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
                >>> 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:

1
2
3
>>> 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'])
作者

付威

发布于

2019-03-06

更新于

2025-04-16

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×