Learning Python Part I 之 列表

来源:互联网 发布:sqlserver case when 编辑:程序博客网 时间:2024/06/05 06:29

特性

列表的几种特性:

  • 任意对象的有序集合体:
    从功能的角度来讲,列表就是一个容器,可以用来收集可以被当做一个群组的任意对象。并且列表中的对象保持从左到右的位置顺序,由此可见,列表也是序列。
  • 可以通过偏移量访问包含的对象:
    列表也是序列类型,可以适用序列类型的所有操作
  • 可变长度、异构性(heterogeneous)和任意嵌套

    可以增加和删除包含的对;可以包含任意类型的对象,不仅仅是字符串和数字,也可以包含字典、列表等。你可以创建一个列表,其中包含两层列表,即嵌套。

  • 属于可变类型、序列类型

  • 是一个包含对象引用的数组
    列表包含的是指向其他对象的引用的,就像C中的指针数组,在Python列表中定位一个元素和在C数组中的速度几乎一样快。事实上在Python解释器内部,列表就是数组,而不是链式结构。其实任何时候你将一个对象赋值给一个数据结构体或变量名,Python储存的都是指向这个对象的引用而不是复制这个对象。

方法

需要时可以通过help(list)dir(list)查看列表的所有方法和具体方法的使用方法。

这里写图片描述

举例

>>> a = [1, 4, 6, 7, 8, 3, 6, 7, 6] #创建列表>>> a.append(4)#列表末尾插入元素>>> a[1, 4, 6, 7, 8, 3, 6, 7, 6, 4]>>> a.insert(2,6)#列表特定位置插入元素>>> a[1, 4, 6, 6, 7, 8, 3, 6, 7, 6, 4]>>> a.count(6)#列表中某个元素出现的次数4>>> a.remove(3)#删除特定位置的元素>>> a[1, 4, 6, 6, 7, 8, 6, 7, 6, 4]>>> a.reverse()#反转列表>>> a[4, 6, 7, 6, 8, 7, 6, 6, 4, 1]>>> b = [12, 11, 15, 19]>>> a.extend(b)#将列表b添加到列表a末尾>>> a[4, 6, 7, 6, 8, 7, 6, 6, 4, 1, 12, 11, 15, 19]>>> a.sort()#列表排序>>> a[1, 4, 4, 6, 6, 6, 6, 7, 7, 8, 11, 12, 15, 19]>>> del a[3] #del关键字删除列表中特定位置的元素>>> a[1, 4, 4, 6, 6, 6, 7, 7, 8, 11, 12, 15, 19]>>> 

列表排序

str.sort()

>>> L = ['abc', 'ABD', 'aBe']>>> L.sort()>>> L['ABD', 'aBe', 'abc']>>> L = ['abc', 'ABD', 'aBe']>>> L.sort(key=str.lower)>>> L['abc', 'ABD', 'aBe']>>>>>> L = ['abc', 'ABD', 'aBe']>>> L.sort(key=str.lower, reverse=True)>>> L['aBe', 'ABD', 'abc']

sorted()

>>> L = ['abc', 'ABD', 'aBe']>>> sorted(L, key=str.lower, reverse=True)['aBe', 'ABD', 'abc'] # Sorting built-in>>> L = ['abc', 'ABD', 'aBe']>>> sorted([x.lower() for x in L], reverse=True)['abe', 'abd', 'abc']