Python3 列表

python.png

–本篇主要讲述 Python数据类型之:列表–

“优雅” “明确” “简单”
Python

Python中的数据类型:列表。并且列表数据类型支持原位改变
以方括号 [ ] 括起来,每个数据之间使用英文的逗号 ‘,’ 进行分隔的形式书写的字面值在Python中为列表数据类型。形如:

1
2
3
>>> L = ['a', 'b', 'c', 1, 2, 3]
>>> type(L)
<class 'list'>

在Python中,列表数据类型英文称作:“ list ”。

相关的方法等示例展示,均以Python的交互式环境演示为主!


列表数据类型的特性

  1. 任意对象的有序集合;
  2. 通过索引下标访问元素(第一个索引是0,第二个索引是1,依次类推);
  3. 可变长度;
  4. 属于可变序列;

列表数据类型的声明方式

  1. 使用基本形式方括号 [ ] 定义

    1
    2
    3
    >>> L = ['a', 'b', 'c', 1, 2, 3]
    >>> type(L)
    <class 'list'>
  2. list( ) 使用 list 构造函数构造列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> l = list(('xyz', 'abc'))
    >>> l
    ['xyz', 'abc']
    >>> type(l)
    <class 'list'>
    >>> L = list('abc')
    >>> L
    ['a', 'b', 'c']
    >>> type(L)
    <class 'list'>
  3. 列表推导

    1
    2
    3
    4
    5
    >>> l = [x**2 for x in range(5)]
    >>> l
    [0, 1, 4, 9, 16]
    >>> type(l)
    <class 'list'>

基本操作

  1. + 加法操作,列表之间的组合

    1
    2
    3
    4
    >>> L = ['a', 'b', 'c']
    >>> l = [1,2,3]
    >>> L + l
    ['a', 'b', 'c', 1, 2, 3]
  2. * 重复操作,列表内元素的重复

    1
    2
    3
    >>> L = ['a', 'b', 'c']
    >>> L * 5
    ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
  3. len( ) 计算列表长度(相当于列表内元素个数)

    1
    2
    3
    >>> L = ['a', 'b', 'c']
    >>> len(L)
    3
  4. [ ] 通过索引获取列表内指定索引处的元素

    1
    2
    3
    >>> L = ['a', 'b', 'c']
    >>> L[1]
    'b'
  5. list[x:y:z] 列表的切片操作(索引由左至右,从0开始)
    x:为切片起始索引
    y:为切片结束索引(结果不包含y索引位置的值)
    z:切片操作的步长

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> L = [1,2,3,4,5,6,7,8,9,10]
    >>> L[3:5]
    [4, 5]
    >>> L[-1]
    10
    >>> L[:]
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> L[::2]
    [1, 3, 5, 7, 9]
    >>> L[::-1]
    [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  6. in 成员运算符 - 判断指定元素是否存在于列表内,存在则为 True, 反之为 False

    1
    2
    3
    4
    5
    >>> L = ['a', 'b', 'c']
    >>> 'a' in L
    True
    >>> 'x' in L
    False
  7. not in 成员运算符 - 判断指定元素是否存在于列表内,不存在则为 True, 反之为 False

    1
    2
    3
    4
    5
    >>> L = ['a', 'b', 'c']
    >>> 'x' not in L
    True
    >>> 'a' not in L
    False

列表数据类型的常见内建函数

  1. append( ) 在列表末尾添加新的对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> l = ['a', 'b']
    >>> l.append('c')
    >>> l
    ['a', 'b', 'c']
    >>> l = ['a', 'b', 'c']
    >>> b = [1, 2, 3]
    >>> l.append(b)
    >>> l
    ['a', 'b', 'c', [1, 2, 3]]
  2. clear( ) 清空列表中所有的元素

    1
    2
    3
    4
    >>> l = ['a', 1, 2, 'b']
    >>> l.clear()
    >>> l
    []
  3. copy( ) 复制列表

    1
    2
    3
    4
    5
    6
    >>> l = ['a', 1, 2, 'b']
    >>> s = l.copy()
    >>> s
    ['a', 1, 2, 'b']
    >>> l
    ['a', 1, 2, 'b']
  4. count( ) 统计列表中某元素出现的次数

    1
    2
    3
    4
    5
    6
    7
    >>> l = ['a', 'b', 'a', 'c', 'b']
    >>> l.count('a')
    2
    >>> l.count('b')
    2
    >>> l.count('c')
    1
  5. extend( ) 在列表末尾一次性追加另一个序列中的多个值(可用新列表扩展原来的列表)

    1
    2
    3
    4
    5
    >>> l = ['a', 'b', 'c']
    >>> b = [1, 2, 3]
    >>> l.extend(b)
    >>> l
    ['a', 'b', 'c', 1, 2, 3]
  6. index( ) 从列表中找出某个值第一个匹配项的索引位置(可指定寻找的起止索引位置)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> l = ['a', 'b', 1, 'c', 2, 3]
    >>> l.index('b')
    1
    >>> l.index('b', 2, 4)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: 'b' is not in list
    >>> l.index('b', 1, 4)
    1
  7. insert( ) 在列表中的指定位置处,插入某个对象

    1
    2
    3
    4
    >>> l = ['a', 'b', 'c', 'd']
    >>> l.insert(1, [1, 2, 3])
    >>> l
    ['a', [1, 2, 3], 'b', 'c', 'd']
  8. pop( ) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> l = [1, 2, 3, 4, 5]
    >>> p = l.pop()
    >>> p
    5
    >>> l
    [1, 2, 3, 4]
    >>> s = l.pop(2)
    >>> s
    3
    >>> l
    [1, 2, 4]
    >>> l.pop(1)
    2
  9. remove( ) 移除列表中某个值的第一个匹配项

    1
    2
    3
    4
    >>> l = ['hello', 'new year', 'all world', 'new year']
    >>> l.remove('new year')
    >>> l
    ['hello', 'all world', 'new year']
  10. reverse( ) 反向重新排序列表中元素

    1
    2
    3
    4
    >>> l = [1, 'hello', 'new year', 'all world', 'new year', 10]
    >>> l.reverse()
    >>> l
    [10, 'new year', 'all world', 'new year', 'hello', 1]
  11. sort( ) 对列表进行排序(也可在排序后进行反向排序)

    1
    2
    3
    4
    5
    6
    7
    8
    >>> l = [9, 1, 2, 6, 100, 3, 7, 5]
    >>> l.sort()
    >>> l
    [1, 2, 3, 5, 6, 7, 9, 100]
    >>> l = [9, 1, 2, 6, 100, 3, 7, 5]
    >>> l.sort(reverse=True)
    >>> l
    [100, 9, 7, 6, 5, 3, 2, 1]

更多关于列表数据类型的内建函数方法,可在 Python 交互式环境下,使用:help(list) 进行查看,或查阅官方文档:Python 官方文档

0%