【Python】可变序列list常用操作

添加
  • 添加元素(单个)
    x = list(range(10))
    print(x)
    x.append(12)

  • 添加元素(多个)
    x = list(range(10))
    print(x)
    x.extend([1,2,3,4]) 多个元素需要以列表的形式插入

x = []
x.append("abc") # 结果为:[abc]
x = []
x.extend("abc") # 结果为:['a','b','c']
删除
  • 删除元素
    x = list(range(10))
    print(x)
    x.remove(1) 只删除值本身
    x.clear() 删除所有

  • 删除元素del
    x = list(range(10))
    print(x)
    del x[1:3]

  • 删除列表中的特定值

x = [1,2,3,3,3,3,4,4,5,5]
m = []
for i in x:
    if i !=3:
        m.append(i)
    else: continue
print(m) # 输出为:[1,2,4,4,5,5]
插入
  • x.insert(i,m) i为下标,m为值,在i的下标处插入m
x = list(range(10))
print(x)  # 结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x.insert(0,10)
print(x) # 结果为:[10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
弹出
  • x.pop()弹出最后一位
  • x.pop(3)弹出第三位
x = list(range(10))
print(x)  # 结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = x.pop() 
print(a) # 结果为:9
print(x) # 结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8]
b = x.pop(3)
print(b) # 结果为:3
print(x)  # 结果为:[0, 1, 2, 4, 5, 6, 7, 8]
排序
  • 返序
    x.reverse()
x = list(range(10))
print(x)  # 结果为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x.reverse() 
print(x) # 结果为:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • 升序,默认升序排序/字母排序
    x.sort()
x = [12, 45, 32, 98, 45, 66, 3]
s= ["bcd", "lhc", "asp"]
x.sort()
s.sort()
print(x) # 结果为:[3, 12, 32, 45, 45, 66, 98]
print(s) # 结果为:['asp', 'bcd', 'lhc']
复制
  • 直接通过m = x这样的形式进行赋值,mx使用的同一个引用/存储对象,xm一个改变另一个跟着改变。
  • 复制 m = x.copy()
x = list(range(5))
print(x) # 结果为:[0, 1, 2, 3, 4]
m = x
print(m) # 结果为:[0, 1, 2, 3, 4]
x[2] =100
print(x) # 结果为:[0, 1, 100, 3, 4]
print(m) # 结果为:[0, 1, 100, 3, 4]
#######################
x = list(range(5))
print(x) # 结果为:[0, 1, 2, 3, 4]
m = x.copy()
print(m) # 结果为:[0, 1, 2, 3, 4]
x[2] =100
print(x) # 结果为:[0, 1, 100, 3, 4]
print(m) # 结果为:[0, 1, 2, 3, 4]
  • 排序并复制
    m = sorted(x)
x = [12, 45, 32, 98, 45, 66, 3]
m = sorted(x)
print(x) # 结果为:[12, 45, 32, 98, 45, 66, 3]
print(m) # 结果为:[3, 12, 32, 45, 45, 66, 98]

你可能感兴趣的:(【Python】可变序列list常用操作)