列表元素的增、删、改、排操作和列表生成式

本文详细介绍了Python列表的增加、删除、修改和排序操作,包括append(), extend(), insert(), 切片,以及sort()和sorted()方法的应用。此外,还涵盖了列表生成式和常见操作总结。
摘要由CSDN通过智能技术生成

列表元素的增加操作

方法操作描述
apppend()在列表末尾添加一个元素
增加操作extend()在列表末尾至少添加一个元素
insert()在列表的任意位置添加一个元素
切片在列表的任意位置添加至少一个元素
  • append()
lst = [10, 20, 30]
print(lst, id(lst))

lst.append(100)
print(lst, id(lst))

ls2 = ['hello', 'world']
lst.append(ls2)  # 将ls2作为一个元素添加到列表的末尾
print(lst)

lst = [10, 20, 30]
print(lst, id(lst))

lst.append(100)
print(lst, id(lst))

ls2 = ['hello', 'world']
lst.append(ls2)  # 将ls2作为一个元素添加到列表的末尾
print(lst)
  • extend()
lst.extend(ls2)  # 向列表末尾一次性添加多个元素
print(lst)

[10, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
  • insert()
lst.insert(1, 90)  # 在列表lst索引是1的位置添加90
print(lst)

[10, 90, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
  • 切片
ls3 = [True, False, 'hello']
lst[1::] = ls3  # 此时切片表示将索引为0的元素保留,将其他元素切掉
print(lst)

[10, True, False, 'hello']

列表元素的删除操作

方法操作描述
1.一次删除一个元素
remove移出()2.重复元素只删除第一个
3.元素不存在抛出ValueError
删除操作1.删除一个指定索引位置上的元素
pop()2.指定索引不存在抛出IndexError
3.不指定索引,删除列表中最后一个元素
切片一次至少删除一个元素,将产生一个新的列表对象
clear()清空列表
del删除列表
  • remove()
lst = [20, 30, 40, 50, 30]
lst.remove(30)
print(lst)

[20, 40, 50, 30]
  • pop()
lst.pop(3)
print(lst)
lst.pop()
print(lst)

[20, 40, 50]
[20, 40]
  • 切片
lst2 = [10, 20, True, 'python']
lst3 = lst2[1:]
print('原列表', lst2, '切片后的新列表', lst3)

# 不产生新的列表对象,而是用切片取删除原列表中的内容
lst4 = [1, 3, 5, 9]
print(lst4[1:3])
lst4[1:3] = []  # 使用[]将指定索引处的元素进行覆盖,以达到删除元素的目的
print(lst4)

原列表 [10, 20, True, 'python'] 切片后的新列表 [20, True, 'python']
[3, 5]
[1, 9]
  • clear()
lst4 = [1, 3, 5, 9]
lst4.clear()
print(lst4)

[]
  • del
lst4 = [1, 3, 5, 9]
del lst4
print(lst4)

NameError: name 'lst4' is not defined. Did you mean: 'lst'?

列表元素的修改操作

操作描述
修改操作1.为指定索引的元素赋予一个新值
2.为指定的切片赋予一个新值
  • 指定索引的元素赋予新值
lst = [10, 20, 30, 40]
lst[2] = 100
print(lst)

[10, 20, 100, 40]
  • 指定切片赋予新值
lst = [10, 20, 30, 40]
lst[1:3] = [200, 300, 400, 500]
print(lst)

[10, 200, 300, 400, 500, 40]

列表元素的排序操作

  • 列表元素的排序操作的两种方式

    • 调用sort()方法

    调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse(逆转、颠倒)=True,进行降序排序。

    lst = [20, 40, 10, 98, 54]
    print('排序前的列表', lst, id(lst))
    lst.sort()
    print('排序后的列表', lst, id(lst))
    
    # 通过指定关键字参数,将列表中的元素进行降序排序
    lst.sort(reverse=True)  # 降序排序
    print(lst)
    lst.sort(reverse=False)  # 升序排序
    print(lst)
    
    排序前的列表 [20, 40, 10, 98, 54] 2125865023296
    排序后的列表 [10, 20, 40, 54, 98] 2125865023296
    [98, 54, 40, 20, 10]
    [10, 20, 40, 54, 98]
    
    • 调用内置函数sorted()

    调用内置函数sorted(),可以指定reverse=True,进行降序排序;原列表不发生改变,而是排序之后将产生一个新的列表。

    lst = [10, 50, 23, 20, 5]
    new_lst = sorted(lst)
    print(lst, new_lst)
    
    # 指定关键字参数,实现列表元素的降序排序
    a = sorted(lst, reverse=True)
    print(a)
    
    [10, 50, 23, 20, 5] [5, 10, 20, 23, 50]
    [50, 23, 20, 10, 5]
    

**注意:**sort()方法是对原列表进行排序的操作;而使用内置函数sorted()方法是产生一个新的列表,原列表不发生改变来进行排序操作。


列表生成式

  • 列表生成的公式即列表生成式

  • 语法结构:[ii for i in range(m, n)]

    • i*i表示列表元素的表达式

    • i表示自定义变量

    • range(m, n)表示可迭代变量

**注意事项:**表示列表元素的表达式中通常包含自定义变量。

lst = [i for i in range(1, 10)]
print(lst)

lst = [i*i for i in range(1, 10)]
print(lst)

产生列表[2, 4, 6, 8, 10]
lst2 = [i+1 for i in range(1, 11, 2)]
print(lst2)
lst2 = [i*2 for i in range(1, 6)]
print(lst2)

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10]

列表总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛰伏GR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值