列表类型

列表

  • 列表在python是一种很常用的数据类型,它是一种有序且可迭代的类型,可以存放多个值,以逗号作为分割符

    • 列表可以进行切片取值

    • 可以存储任意类型的值

    • 可以对任意值进行修改

  • 列表的简单操作

    # 首先定义一个列表 (通过一对中括号以逗号作为分割符存储)
    >>> my_list = [1,2,3,(4,5),{'6': 7}]
    >>> my_list[0:3]    # 通过切片取值 顾头不顾尾
    [1, 2, 3]
    >>> my_list[4]['6']
    7
    >>> my_list[3][1]
    5
    ​
    # 修改列表的值
    >>> my_list[0] = '一'
    >>> my_list[4]['6'] = '六'
    >>> my_list
    ['一', 2, 3, (4, 5), {'6': '六'}]
    ​
    # 删除列表的值
    >>> del my_list[3]
    >>> my_list
    ['一', 2, 3, {'6': '六'}]
    ​
    # 列表的运算操作 (+ 表示拼接,* 表示显示多次)
    >>> my_list = [1,2,3,4,5]
    >>> my_list2 = [6,7,8,9,10]
    >>> my_list += my_list2
    >>> my_list
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> my_list * 3
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    ​
    # 嵌套列表 (理论上可以嵌套无数层列表)
    >>> my_list = [1,2,3,[4,5,[6,7,[8]]]]
    >>> my_list
    [1, 2, 3, [4, 5, [6, 7, [8]]]]
    # 问题: 怎样取出列表里面的值 “8”?
    

     

  • 列表的内置方法

    # 通过dir函数查看一下列表的内置方法
    >>> dir(list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    View Code

    ​# 常用的内置方法示例
    >>> my_list = [1,2,3,4,5]
    # append (在列表末尾添加值)
    >>> my_list.append(6)
    >>> my_list
    [1,2,3,4,5,6]
    ​
    # insert (在指定索引位置添加值)
    >>> my_list.insert(3,'A')
    >>> my_list
    [1, 2, 3, 'A', 4, 5, 6]
    ​
    # extend (在立标末尾一次性添加多个值,要传递一个可迭代的对象)
    >>> my_list.extend([1,3,5])
    >>> my_list
    [1, 2, 3, 'A', 4, 5, 6, 1, 3, 5]
    # index (根据索引查找值)
    >>> my_list[3]
    'A'
    >>> my_list[5]
    5
    >>> my_list[7]
    1# count (统计出现了多少次)
    >>> my_list.count(1)
    2
    >>> my_list.count('A')
    1# reverse (会改变原列表的值)
    >>> list1 = [1,2,3,4,5]
    >>> my_list.reverse()
    >>> my_list
    [5,4,3,2,1]
    # 额外扩展一个内置函数 reversed (不会改变原列表的值)
    >>> list1 = [1,2,3,4,5]
    >>> list(reversed(list1))
    [5,4,3,2,1]
    >>> list1
    [1,2,3,4,5]
    ​
    ​
    # sort (对列表进行排序,会改变原列表的值)
    >>> my_list = [1,7,5,9,3,1,2]
    >>> my_list.sort()
    >>> my_list
    [1, 1, 2, 3, 5, 7, 9]
    ​
    # 额外扩展一个函数 sortd (不会改变原列表的值)
    >>> my_list = [1,7,5,9,3,1,2]
    >>> sorted(my_list)
    [1, 1, 2, 3, 5, 7, 9]
    >>> my_list
    [1, 7, 5, 9, 3, 1, 2]
    # 字符串排序是根据首字母大小,如果相同则比较第二个字母
    >>> str_list = ['name','age','sex']
    >>> sorted(str_list)
    ['age', 'name', 'sex']
    # sorted函数还可以传递其他的参数来做额外的控制
    >>> sorted(my_list,reverse=True)    # 将结果翻转
    [9, 7, 5, 3, 2, 1, 1]
    ​
    >>> my_list = [1,2,3,4]
    # pop (通过索引弹出一个值并显示)
    >>> my_list = [1,2,3,4]
    >>> my_list.pop(1)
    2
    >>> my_list.pop(1)
    3
    >>> my_list
    [1, 4]
    ​
    # remove (通过传递值进行删除,不显示删除结果)
    >>> my_list.remove(1)
    >>> my_list
    [4]
    ​
    # copy (拷贝一个列表)
    >>> list_cp = my_list.copy()
    >>> list_cp
    [4]
    ​
    # clear (清空一个列表)
    >>> list_cp.clear()
    >>> list_cp
    []
    ​
    # del (删除)
    >>> del list_cp
    >>> list_cp
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'list_cp' is not defined
    ​
    View Code
posted @ 2018-10-25 21:12  浩小白  Views(179)  Comments(0Edit  收藏  举报