• 【马士兵】Python基础--07


    Python基础–07

    列表的添加操作

    列表的添加元素有四种方法:

    在这里插入图片描述

    列表的添加操作不改变列表的id值,所以相当于没有新的列表产生

    lst=[10,20,30]
    print('添加元素之前',lst)
    print('添加元素之前',id(lst))
    lst.append(100)
    print('添加元素之后',lst)
    print('添加元素之后',id(lst))
    # 添加元素之前 [10, 20, 30]
    # 添加元素之前 2826758993216
    # 添加元素之后 [10, 20, 30, 100]
    # 添加元素之后 2826758993216
    lst2=['hello','world']
    lst.append(lst2)
    print('添加元素之后',lst)
    lst.extend(lst2)
    print('添加元素之后',lst)
    # 添加元素之后 [10, 20, 30, 100, ['hello', 'world']]将lst2作为一个元素添加到列表的末尾
    # 添加元素之后 [10, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
    lst.insert(1,90)
    print('添加元素之后',lst)
    #添加元素之后 [10, 90, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
    lst3=[True,False,'hello']
    #在任意位置添加多个,切掉之前的
    lst=[1,2,3]
    print('添加元素之前',lst)
    print('添加元素之前',id(lst))
    lst[1:]=lst3
    print('添加元素之后',lst)
    print('添加元素之后',id(lst))
    # 添加元素之前 [1, 2, 3]
    # 添加元素之前 2514633176384
    # 添加元素之后 [1, True, False, 'hello']
    # 添加元素之后 2514633176384
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    列表中的删除操作

    列表中的删除操作总共有五种方法,分别是remove,pop,切片,del,clear这五种,remove是根据这个元素的值来移除,而pop是以那个元素的索引值来移除

    在这里插入图片描述

    lst=[0,1,2,3,4,5,6]
    new_list=lst[1:3]
    print('原列表',lst)
    print('原列表id',id(lst))
    print('切片赋值后列表',new_list)
    print('切片赋值后列表id',id(new_list))
    # 原列表 [0, 1, 2, 3, 4, 5, 6]
    # 原列表id 2609581603008
    # 切片赋值后列表 [1, 2]
    # 切片赋值后列表id 2609581603072
     
    print('原列表',lst)
    print('原列表id',id(lst))
    lst[1:3]=[]#不产生新的列表对象,而是删除原列表中的内容
    print('切片后列表',lst)
    print('切片后列表id',id(lst))
    # 原列表 [0, 1, 2, 3, 4, 5, 6]
    # 原列表id 2609581603008
    # 切片后列表 [0, 3, 4, 5, 6]
    # 切片后列表id 2609581603008
     
    #清楚列表中的所有元素
    lst.clear()
    print(lst)
    #[]
     
    #del语句将列表对象删除
    del lst
    #print(lst) NameError: name 'lst' is not defined
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    列表元素的修改操作

    1.对单个元素直接修改:

    lis=[49,8,9,48,56,8,61,7]
    print(lis)                  #输出[49, 8, 9, 48, 56, 8, 61, 7]
    lis[5]=499
    print(lis)                  #输出[49, 8, 9, 48, 56, 499, 61, 7]
    
    • 1
    • 2
    • 3
    • 4

    2.切片修改:

    lis1=[789,56,46,5,8,4,65,465,46,64]
    lis1[1:2]=['python','cxz','cxzcz']
    print(lis1)                 #输出[789, 'python', 'cxz', 'cxzcz', 46, 5, 8, 4, 65, 465, 46, 64]
    
    • 1
    • 2
    • 3

    对列表的排序操作

    有两种操作方法:

    1.使用列表自有的sort()方法

    2.使用内置函数sorted()方法

    !!!他俩之间的区别在于前者不会产生新的列表,而后者会产生新的列表!!!

    lst=[10,46,90,20,60,30,50]
    print(lst)
    print(id(lst))
    lst.sort()
    print(lst)
    print(id(lst))
    # [10, 46, 90, 20, 60, 30, 50]
    # 2519940612544
    # [10, 20, 30, 46, 50, 60, 90]
    # 2519940612544
    #排序是在原列表上进行的
    lst.sort(reverse=True)
    print(lst)
    lst.sort(reverse=False)
    print(lst)
    # [90, 60, 50, 46, 30, 20, 10]
    # [10, 20, 30, 46, 50, 60, 90]
     
    #使用内置函数sorted()对列表进行排序,将产生一个新的列表对象
    lst=[10,46,90,20,60,30,50]
    new_list=sorted(lst)
    print(lst)
    print(id(lst))
    print(new_list)
    print(id(new_list))
    # [10, 46, 90, 20, 60, 30, 50]
    # 2305728912192
    # [10, 20, 30, 46, 50, 60, 90]
    # 2305726038464
    new_list=sorted(lst,reverse=True)
    print(lst)
    print(id(lst))
    print(new_list)
    print(id(new_list))
    # [10, 46, 90, 20, 60, 30, 50]
    # 1649469892160
    # [90, 60, 50, 46, 30, 20, 10]
    # 1649468728128
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    列表生成式

    语法格式如下

    list=[要存储的列表元素 for i/item in range(a,b)]

    range函数可以用以后其他的东西代替的,但是列表生成式可以固定下来的

    在这里插入图片描述

    lst=[i for i in range(1,10)]
    print(lst)
    # [1, 2, 3, 4, 5, 6, 7, 8, 9]
    lst=[i*i for i in range(1,10)]
    print(lst)
    # [1, 4, 9, 16, 25, 36, 49, 64, 81]
     
    lst2=[i for i in range(2,11,2)]
    lst3=[i*2 for i in range(1,6)]
    print(lst2)
    print(lst3)
    # [2, 4, 6, 8, 10]
    # [2, 4, 6, 8, 10]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

  • 相关阅读:
    【ACM学习】【STL】顺序容器的特性比较(不包括array)
    maven的安装与配置
    LeetCode·139.单词拆分·递归·记忆化搜索·字典树
    Web攻防01-ASP应用相关漏洞-HTTP.SYS&IIS短文件&文件解析&ACCESS注入
    npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
    《统计学习方法》 第十七章 潜在语义分析
    自建网盘平台搭建(源码+教程)
    你不能错过的【Python爬虫】测试2(完整源代码+架构+结果)
    nginx-反向代理缓存
    PyTorch应用实战六:利用LSTM实现文本情感分类
  • 原文地址:https://blog.csdn.net/bobby102/article/details/126651154