• list常用函数小结


    关于list的增删查改操作,要注意

    • 是否是在原列表做修改
    • 是否有返回值
    • 变量的引用
    import pandas as pd
    import numpy as np
    
    d = [2, 3, 4, 2, 3, 4, 2, 3, 4, 2, 3, 4,'a', 'a']
    

    (1)列表的增

    e=d              # 变量e和d是同一个内存的引用,所以改变内存的值,则e和d都会变
    d.append('a')    # append函数是直接修改了原列表,内存中列表的值发生了改变
    f=d.append('a')  # append 函数没有返回值
    print (d)
    print (e)
    print (f)
    
    [2, 3, 4, 2, 3, 4, 2, 3, 4, 2, 3, 4, 'a', 'a', 'a', 'a']
    [2, 3, 4, 2, 3, 4, 2, 3, 4, 2, 3, 4, 'a', 'a', 'a', 'a']
    None
    
    d.insert(1,'a')  # 可以指定在某下标位置插入值,直接在原列表修改,无返回值
    

    (2)列表的删

    d.pop()       
    d.pop(3)      # pop函数直接修改原列表,参数只能传元素下标,不能传元素的值; 如果不传参数,默认删除最后一个
    n= d.pop()    # pop 函数有返回值,即为被删除的元素值
    print (d)
    print (n)
    
    [2, 3, 4, 3, 4, 2, 3, 4, 2, 3, 4, 'a', 'a']
    a
    
    d.remove('a')  # remove函数直接修改原列表,智能传元素的值,同时只删除值的第一个匹配项
    f=d.remove('a') # remove函数没有返回值
    print (d)
    print (f)
    
    [2, 3, 4, 3, 4, 2, 3, 4, 2, 3, 4]
    None
    

    (3)列表的反转

    e=d.reverse()  # 直接在原list修改,没有返回值
    print(d)
    print (e)
    
    [4, 3, 2, 4, 3, 2, 4, 3, 4, 3, 2]
    None
    

    (4) 列表的排序

    • .sort()函数
    • sorted()函数
    num=[5,1,8,3,2]  # 直接在原列表修改,没有返回值
    num.sort()
    num.sort(reverse=True)  # 按逆序排序
    print (num)
    
    [8, 5, 3, 2, 1]
    
    num=[5,1,8,3,2]  # 会开辟新的空间存排序好的列表,不改变原列表,有返回值
    n=sorted(num)
    print (num)
    print (n)
    
    [5, 1, 8, 3, 2]
    [1, 2, 3, 5, 8]
    

    (5)列表的复制

    • 由于列表变量的赋值,变量还是指向同一个内存。
    • 所以要真正复制一个列表,则要用.copy()或者是切片
    num=[5,1,8,3,2]
    num1=num.copy()    # 用copy函数复制,不会改变原列表
    num2=num[:]        # 用切片复制 ,不会改变原列表
    num1.reverse()
    num2.reverse()
    print (num)
    print (num1)
    print (num2)
    
    [5, 1, 8, 3, 2]
    [2, 3, 8, 1, 5]
    [2, 3, 8, 1, 5]
    

    只有pop函数和sorted()函数有返回值
    pop函数只能传元素下标值

    (5) 其他

    # list的加和乘操作
    a = [2,3,4]
    b = [5,6,7]
    c= a+b
    d=a*4    # 注意这是同一个引用复制了4次,所以,改变原引用的值,4个都会变
    print(c)
    print(d)
    
    [2, 3, 4, 5, 6, 7]
    [2, 3, 4, 2, 3, 4, 2, 3, 4, 2, 3, 4]
    
    d[1:2]  # list切片是左闭右开
    
    d[1:1] # 是一个空切片
    
  • 相关阅读:
    移植OpenSSH到arm手记
    编译内核模块找不到内核头文件解决办法
    多线程编程
    多线程编程
    MFC中如何清空CListBox
    Windows文件自删除的两种方法
    【转】显示一个打开文件夹的对话框,并得到用户选择的目录:
    【转】UpdateData()函数
    Windows命名规则
    CListControl如何删除所有子项
  • 原文地址:https://www.cnblogs.com/laiyaling/p/11837886.html
Copyright © 2020-2023  润新知