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] # 是一个空切片
posted @ 2019-11-11 20:06  亚北薯条  阅读(628)  评论(0编辑  收藏  举报