Python 列表list

    一组有序项目的集合
    可变的数据类型【可进行增删改查】
    列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】
    列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔
    列表可通过序号访问其中成员

    定义

    >>> l = [] #空列表
    >>> l = [1,2,3]
    >>> l = [1,2,3,['a','b']]
    >>> l = list('linuxeye')
    >>> l
    ['l', 'i', 'n', 'u', 'x', 'e', 'y', 'e']
    >>> l = list(range(5))
    >>> l
    [0, 1, 2, 3, 4]
    >>> l = '1;2;3;4;5'.split(';')
    >>> l
    ['1', '2', '3', '4', '5']

    内建函数list(a_sequence) 可以将一个序列转为列表

    索引
    正索引是编号是从左到右,0开始;负索引编号是从右往左,-1、-2 ...;取范围值都是从左至右

    >>> LanguageList = ['Python','Shell','Perl','PHP','java','C',"C++","Lisp"]
    >>> LanguageList[0] #取第一个值
    'Python'
    >>> LanguageList[3] #第四个值
    'PHP'
    >>> LanguageList[3:]
    ['PHP', 'java', 'C', 'C++', 'Lisp']
    >>> LanguageList[:3]
    ['Python', 'Shell', 'Perl']
    >>> LanguageList[2:5]
    ['Perl', 'PHP', 'java']
    >>> LanguageList[-1] #倒数第一个值
    'Lisp'
    >>> LanguageList[-2] #倒数第二个值
    'C++'
    >>> LanguageList[-5:]
    ['PHP', 'java', 'C', 'C++', 'Lisp']
    >>> LanguageList[-5:-2]
    ['PHP', 'java', 'C']
    >>> LanguageList[:-2]
    ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C']

    增加元素

    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp']
    >>> LanguageList.append('GO')
    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']
    >>> LanguageList.insert(3,'Python') #往PHP元素前插入
    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO']
    >>> LanguageList.extend(['Ruby','C#'])
    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']

    搜索

    >>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']
    >>> LanguageList.index('Python')
    0
    >>> LanguageList.index('C')
    6
    >>> LanguageList.index('c')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: list.index(x): x not in list
    >>> 'c' in LanguageList
    False
    >>> LanguageList.index('Python') #统计一个元素的出现次数
    2

    删除元素

    >>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']
    >>> LanguageList.remove('C')
    >>> LanguageList.remove('Python')
    >>> LanguageList.remove('c')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: list.remove(x): x not in list
    >>> LanguageList.pop()
    'C#'
    >>> LanguageList
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']
    >>> LanguageList.pop(-2)
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp',  'Ruby']
    >>> del LanguageList[-3:-1]
    >>> LanguageList
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']

    remove从列表中只删除一个值的首次出现。
    pop会做两件事: 删除列表的最后一个元素, 然后返回删除元素的值。

    修改元素

    >>> LanguageList = ['Python','Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']
    >>> LanguageList[-2] = 'C'
    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'C', 'Ruby']
    >>> LanguageList[LanguageList.index('C')] = 'JAVA'
    >>> LanguageList
    ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'JAVA', 'Ruby']

    运算符

    >>> LanguageList
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby']
    >>> LanguageList = LanguageList + ['Python','C']
    >>> LanguageList
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C']
    >>> LanguageList += ['java']
    >>> LanguageList
    ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C', 'java']
    >>> NumList = [1,2,3] * 3
    >>> NumList
    [1, 2, 3, 1, 2, 3, 1, 2, 3]

    排序

    >>> NumList = [2,5,3,6,1,4]
    >>> NumList.reverse()
    >>> NumList
    [4, 1, 6, 3, 5, 2]
    >>> NumList[::-1] #和reverse效果相同
    >>> NumList
    [2, 5, 3, 6, 1, 4]
    >>> NumList.sort()
    >>> NumList
    [1, 2, 3, 4, 5, 6]

    sort可接受参数

    cmp,比较函数,接受两个参数,小于时返回负,大于返回正,相等返回0
    key,指定排序键
    reverse,指定是否反序

    列表的比较操作 , 隐式调用cmp方法 , 比较规则是逐个扫描元素进行比较, 如果可以比较 , 则比较, 如果相等扫描下一个元素 , 如果不相等返回结果 , 如果两个元素类型不可以比较 , 就比较两个对象的 id()值。如果一直相等 ,直到一个列表扫描结束 , 那么返回较长的列表较大

    >>> L = [(13,54),(11,59),(15,55),(12,57),(10,56)]
    >>> L.sort(key=lambda x:x[1])
    >>> L
    [(13, 54), (15, 55), (10, 56), (12, 57), (11, 59)]
    >>> L.sort(key=lambda x:x[1],reverse=1) #或者reverse=True
    >>> L
    [(11, 59), (12, 57), (10, 56), (15, 55), (13, 54)]

    sort与sorted函数区别

    NumList = [2, 5, 3, 6, 1, 4]
    >>> sorted(NumList)
    [1, 2, 3, 4, 5, 6]
    >>> NumList
    [2, 5, 3, 6, 1, 4]
    >>> NumList.sort()
    >>> NumList
    [1, 2, 3, 4, 5, 6]

    sort: 在原list上排序,不返回排序后的list
    sorted: 不改变原list,返回排序后的list

    Mon Oct 14 16:27:52 CST 2013
    • 本文由 发表于 2013-10-14
    • 转载请务必保留本文链接:https://linuxeye.com/367.html
    腾讯云COS上传、批量删除工具(Python) 脚本

    腾讯云COS上传、批量删除工具(Python)

    腾讯云对象存储COS是类似于阿里云OSS,相比OSS,COS提供每月免费额度:存储空间50G、外网访问流量10G(内网免费)、免费读请求100万次、写请求10万次。对网站备份来说不错,但是,腾讯云提供...
    Python多线程抓取代理服务器 Linux

    Python多线程抓取代理服务器

    Python作为一门功能强大的脚本语言来说,经常被用来写爬虫程序,下面是Python爬虫多线程抓取代理服务器。 年前是用 //linuxeye.com/340.html 来抓取代理服务器的,谁知道过完...
    Python实现文件的全备份和差异备份 Linux

    Python实现文件的全备份和差异备份

    之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题: md5sum获取有些软连接的MD5值存在问题 不支持对空目录进行备份,因为md5sum无法获取空目录的md5值 权限的修改md...
    匿名

    发表评论

    匿名网友