• Python 列表


    列表操作
        列表用一对 [] 生成,中间的元素用 , 隔开,其中的元素不需要是同一类型,同时列表的长度也不固定。
        列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
        列表的数据项不需要具有相同的类型
        
        长度
            用 len 查看列表长度:
                len(l)
        访问列表
                >>> li=[1,2,3,4]
                >>> print(li)
                [1, 2, 3, 4]
                >>> for i in li:
                ...     print(i)
                >>> li=[1,2,3,4]
                >>> i in li
                True

    #coding=UTF-8
    li=[1,2,3]
    # print(li)
    # 
    # for i in li:
    #     print(i)
        
    print(1 in li)

               
            列表索引
                li=[a   ,b  ,c  ,d   ]
                    0    1   2   3
                   -4  -3   -2  -1
                >>> li=[1,2,3,4]
                >>> print(li[0])
                1
                >>> print(li[1])
                2
                >>> print(li[2])
                3

    #coding=UTF-8
    a=[1,2,3,'a','b','c']
    print(a[2:])
    print(a[3:7])
    print(a[:-1]) 
    print(a[-1:]) 

               
            列表切片
                队列表中元素进行操作,比如说截取i->j,实际上截取的是i->j-1

                a=[1,2,3,'a','b','c']
                print(a[2:])
                print(a[3:7])
                print(a[:-1])
                print(a[-1:]) 


            拼接列表
                >>> li=[1,2,3,4]
                >>> li2=[10,20,30,40]
                >>> print(li+li2)
                [1, 2, 3, 4, 10, 20, 30, 40]
                >>> li=[1,2,3,4]
                >>> li2=['heygor','douyu','zhibo']
                >>> print(li+li2)
                [1, 2, 3, 4, 'heygor', 'douyu', 'zhibo']

    #coding=utf-8
    li1=['longgor','kenai']
    li2=['naofu','xiaoju','dafeinang']
    # print(li1+li2)
    c=li1+li2
    for i in c:
        print(i)

               
            更新列表
                中括号中数字为元素的下标
                >>> li=[1,2,3,4]
                >>> li[0]=8
                >>> print(li)
                [8, 2, 3, 4]
                >>> li[-2]=2,3
                >>> print(li)
                [8, 2, (2, 3), 4]

    #coding=utf-8
    l=[1,2,3]
    l[2]='heygor'
    print(l)
    
    l[2]=[4,5,6]
    print(l)


                
            删除列表
                Python提供了删除列表中元素的方法 'del'。
                删除列表中的第一个元素:
                    >>> li=[1,2,3,4]
                    >>> del li[2]
                    >>> print(li)
                    [1, 2, 4]

    #coding=utf-8
    l=[1,2,3]
    print(l)
    del l[2]
    print(l)

               
    测试从属关系
        用 in 来看某个元素是否在某个序列(不仅仅是列表)中,用not in来判断是否不在某个序列中。

    a = [10, 11, 12, 13, 14]
    print 10 in a
    print 10 not in a
    
    """
    True
    False
    """

        也可以作用于字符串:

    s = 'hello world'
    print 'he' in s
    print 'world' not in s
    
    """
    True
    False
    """

        列表中可以包含各种对象,甚至可以包含列表:

    a = [10, 'eleven', [12, 13]]
    a[2]
    #[12, 13]

        a[2]是列表,可以对它再进行索引:

    a[2][1]
    #13


    测试从属关系
        用 in 来看某个元素是否在某个序列(不仅仅是列表)中,用not in来判断是否不在某个序列中。

    a = [10, 11, 12, 13, 14]
    print 10 in a
    print 10 not in a
    
    """
    True
    False
    """

        也可以作用于字符串:

    s = 'hello world'
    print 'he' in s
    print 'world' not in s
    
    """
    True
    False
    """

        列表中可以包含各种对象,甚至可以包含列表:

    a = [10, 'eleven', [12, 13]]
    a[2]
    #[12, 13]

        a[2]是列表,可以对它再进行索引:

    a[2][1]
    #13

    列表方法
        不改变列表的方法
        列表中某个元素个数count
        l.count(ob) 返回列表中元素 ob 出现的次数。

    a = [11, 12, 13, 12, 11]
    a.count(11)
    #2

        列表中某个元素位置index
        l.index(ob) 返回列表中元素 ob 第一次出现的索引位置,如果 ob 不在 l 中会报错。

    a.index(12)
    #1
        不存在的元素会报错:
    
    a.index(1)
    
    """
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-26-ed16592c2786> in <module>()
    ----> 1 a.index(1)
    
    ValueError: 1 is not in list
    """

       
    改变列表的方法
        向列表添加单个元素
        l.append(ob) 将元素 ob 添加到列表 l 的最后。

    a = [10, 11, 12]
    a.append(11)
    print a
    
    #[10, 11, 12, 11]

        append每次只添加一个元素,并不会因为这个元素是序列而将其展开:

    a.append([11, 12])
    print a
    
    #[10, 11, 12, 11, [11, 12]]

        向列表添加序列
            l.extend(lst) 将序列 lst 的元素依次添加到列表 l 的最后,作用相当于 l += lst。

    a = [10, 11, 12, 11]
    a.extend([1, 2])
    print a
    
    #[10, 11, 12, 11, 1, 2]

        插入元素
            l.insert(idx, ob) 在索引 idx 处插入 ob ,之后的元素依次后移。

    a = [10, 11, 12, 13, 11]
    # 在索引 3 插入 'a'
    a.insert(3, 'a')
    print a
    
    #[10, 11, 12, 'a', 13, 11]

        移除元素
            l.remove(ob) 会将列表中第一个出现的 ob 删除,如果 ob 不在 l 中会报错。

    a = [10, 11, 12, 13, 11]
    # 移除了第一个 11
    a.remove(11)
    print a
    
    #[10, 12, 13, 11]

        弹出元素
            l.pop(idx) 会将索引 idx 处的元素删除,并返回这个元素。

    a = [10, 11, 12, 13, 11]
    a.pop(2)
    #12

        排序
            l.sort() 会将列表中的元素按照一定的规则排序:

    a = [10, 1, 11, 13, 11, 2]
    a.sort()
    print a
    
    #[1, 2, 10, 11, 11, 13]

            如果不想改变原来列表中的值,可以使用 sorted 函数:

    a = [10, 1, 11, 13, 11, 2]
    b = sorted(a)
    print a
    print b
    """
    [10, 1, 11, 13, 11, 2]
    [1, 2, 10, 11, 11, 13]
    """

        列表反向
            l.reverse() 会将列表中的元素从后向前排列。

    a = [1, 2, 3, 4, 5, 6]
    a.reverse()
    print a
    
    #[6, 5, 4, 3, 2, 1]

            如果不想改变原来列表中的值,可以使用这样的方法:

    a = [1, 2, 3, 4, 5, 6]
    b = a[::-1]
    print a
    print b
    """
    [1, 2, 3, 4, 5, 6]
    [6, 5, 4, 3, 2, 1]
    """

            如果不清楚用法,可以查看帮助:

    a.sort?
  • 相关阅读:
    常用的SQL语句
    解决Pycharm中module 'pip' has no attribute 'main'的问题
    [转]如何使用Fiddler抓取指定浏览器的数据包
    Linux常用命令
    Android:JACK编译错误汇总及解决
    Linux学习:使用 procrank 测量系统内存使用情况
    Android:动态库(.so)调试技巧
    Android 显示系统:Vsync机制
    Android:cmake开发指南
    Android:高通平台性能调试
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/10033922.html
Copyright © 2020-2023  润新知