• Python列表


    在python中有六种内建的序列:列表、元祖、字符串、Unicode字符串、buffer对象和 xrange对象。

    通用序列操作:

      1. 索引(indexing)

      2. 分片(slicing)

      3. 加(adding)

      4. 乘(multiplying)

      5. 检查某个元素是否属于这序列的index(in)

      6. 计算序列的长度(len)

      7. 找出最大元素和最小元素(max/min)

    本篇将介绍其中的列表,以下从列表定义增删改查、列表生成式三个方面进行总结

    1. 列表定义

      列表为Python内置数据类型,用[]表示,可以修改

    2. 列表的增、删、改,查

      (1) 增

      append()

      extend() #必须在列表尾部拼接另一个链表

      insert() #指定索引位置插入字符

      (2) 删

      pop() #删除末尾的元素

      remove() #指定值进行删除

      del()  #用索引和切片进行删除

      clear() #清楚列表中的所有元素,保留列表这个对象

      (3) 查

      索引

      切片

      count()

      max()/min()

      (4) 排序

      sort()

      reserve()

      sorted() #对一个列表集合按照列表中某个位置的元素进行排序

    li = [[1,2,3,4],[4,3,2,1],[2,4,1,3]]
    destli = sorted(li, key = lambda element:element[3])
    print (li)
    print (destli)
    
    >>> [[1, 2, 3, 4], [4, 3, 2, 1], [2, 4, 1, 3]]
    >>> [[4, 3, 2, 1], [2, 4, 1, 3], [1, 2, 3, 4]]

      3. 列表生成式

      >>>[i for i in range(10) if i %2 == 0]

      [0, 2, 4, 6, 8]

      内建函数enumerate() 作用:在列表中为获得序号提供了一个更方便的方法

      >>>seq = ['a', 'b', 'c']

      >>>for i, element in enumerate(seq): seq[i] = "%d%s"%(i, element)

      4. enumerate

      >>> for a,b in enumerate([1,2,3,4]):
        >>>  print (a, b)

      5. zip

      >>> for item in zip([1,2,3], [4,5,6]):

      >>> print (item)

      (1, 4) (2, 5)(3,6)

      >>> for item in zip(*zip([1,2,3], [4,5,6])):

      >>> print (item)

      (1,2,3)(4,5,6) 

      例:列表合并

    #coding = utf-8
    
    '''
        合并两个有序列表
    '''
    l1 = [1,3,5,7,8]
    l2 = [2,4,6,9]
    
    def _recursion_merge_sort2(l1, l2, tmp):
        if len(l1) == 0 or len(l2) == 0:
            tmp.extend(l1)
            tmp.extend(l2)
            return tmp
        else:
            if l1[0] < l2[0]:
                tmp.append(l1[0])
                del l1[0]
            else:
                tmp.append(l2[0])
                del l2[0]
            return _recursion_merge_sort2(l1, l2, tmp)
     
    def recursion_merge_sort2(l1, l2):
        return _recursion_merge_sort2(l1, l2, [])
    
    print (recursion_merge_sort2(l1,l2) )
    View Code

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

    extend和append的区别:

    l1 = [1,3,5,7,8] l2 = [2,4,6,9]

    l3 = []
    #l3.append(l1)
    #l3.append(l2)
    #print (l3)
    l3.extend(l1)
    l3.extend(l2)
    print (l3)

    >>> [[1, 3, 5, 7, 8], [2, 4, 6, 9]]

    >>> [1, 3, 5, 7, 8, 2, 4, 6, 9]

  • 相关阅读:
    VSCode创建Vue项目完整教程
    npm安装vue,在vue/dist目录下没有产生vue.js文件 npm init y npm install vue@2
    技巧心得:DOS学习心得(一)
    c# winform 在新的应用程序域运行 wpf
    Vi下如何保存退出
    visio 文件VSD转jpg
    Too many open files的四种解决办法
    C# winform 窗体弹出选择目录或文件 的对话框
    https://gitee.com/antdesignblazor
    类型Microsoft.Office.Interop.Excel.ApplicationClass未定义构造函数
  • 原文地址:https://www.cnblogs.com/xiaobingqianrui/p/8287716.html
Copyright © 2020-2023  润新知