【马士兵】Python基础--07(列表)

2023-11-03

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

列表中的删除操作

列表中的删除操作总共有五种方法,分别是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.对单个元素直接修改:

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]

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.使用列表自有的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

列表生成式

语法格式如下

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]

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【马士兵】Python基础--07(列表) 的相关文章

随机推荐

  • 第十一篇 绘图matplotlib.pyplot的使用

    文章目录 摘要 安装方法 入门案例 使用plt绘图 使用ax绘图 plt figure参数 plot参数 案例一 绘制红色实心的点状图 案例二 绘制红色的破折线图 案例三 绘制两条线 颜色总结 设置标题 轴名称 图例 使用plt实现绘图 使
  • lua元表与面向对象

    lua元表 扩展普通表的行为 setmetatable tab mematable 如果元表中存在 mematable setmematable会失效 mematable可以保护元表 禁止访问或修改元表中的成员 getmetatable t
  • 原型对象和原型链的理解

    大家都应该知道构造函数很好用 但是构造函数也存在浪费内存的问题 function Star uname age this uname uname this age age this sing function console log 我会唱
  • 网御ACM上网行为管理系统存在SQL注入漏洞【小龙检测工具已更公开】

    网御ACM上网行为管理系统bottomframe cgi接口存在SQL注入漏洞 一 系统简介 二 漏洞描述 三 影响版本 四 fofa查询语句 五 漏洞复现 执行md5 1 函数 执行user 六 POC EXP 七 修复建议 免责声明 请
  • vscode 更新报错,中止以后软件打不开的修复方式

    前言 今天打开 vscode 正准备敲代码的时候 发现 vscode 提示升级 于是想也不想的点了升级 当然 你也可以在这里手动检查程序是否升级了 然后悲剧就发生了 升级到一半的时候 提示进行不下去了 问我是否要重试 或者终止 当时没截图
  • Qt天气预报

    目录 环境 weather pro main cpp weather h weather cpp weatherdata h 今天 未来6天数据体 weathertool h 获取城市编码工具类 ui weather h UI设计器生成的头
  • 【批处理DOS-CMD命令-汇总和小结】-利用cmd命令生成随机数、生成指定范围的随机数

    零 转载链接 bat脚本的基本命令语法 整合侠 博客园 一 cmd命令的随机数取值范围 RANDOM 系统变量只能返回 0 到 32767 之间的任意十进制数字 2的15次方等于32768 上面的0 32767实际就是15位二进制数的范围
  • git----pathspec ‘ ‘ did not match any file(s) known to git

    一 问题描述 场景 在前辈刚刚提交了自己的分支之后 我想切换过去 却发生了如下错误 在这之前你得确认你本地的代码提交且push 如果你的分支上没有代码改动的话 按如下操作解决 二 问题解决 首先查看分支情况 如果没有你想切换的分支名字 先获
  • OLED拼接屏,从选购到安装,手把手教您

    OLED拼接屏是一种高端的显示屏 它由多个OLED屏幕拼接而成 可以实现更大尺寸的显示效果 在使用OLED拼接屏时 需要注意一些细节 下面是OLED拼接屏的教程 1 选择合适的OLED屏幕 在选择OLED屏幕时 需要考虑屏幕的尺寸 分辨率
  • 嘉立创元器件及封装导入AD20

    第一步 建一个集成库 在集成库里添加原理图库和PCB元件库 第二步 在嘉立创软件或者网页里找到你要导入AD的元件 第三歩 将元件的原理图和封装分别以AD的格式导出 第四步 将导出的原理图和封装导入AD 第五步 将原理图生成原理图库 复制后粘
  • android studio第三方框架总结

    第三方框架gradle添加 UI Material design和Support library控件 compile com android support appcompat v7 25 3 1 compile com android s
  • 搭建一个Fabric网络

    生成相关证书文件 首先Fabric提供了一些工具用于生成所需的文件 cryptogen模块会根据提供的配置文件生成后续模块运行过程中需要的证书和数据文件 cryptogen常用命令 generate用于根据配置文件生成证书 showtemp
  • DS18B20使用说明

    DS18B20 温湿度监测模块 芯片介绍 基础介绍 引脚介绍 DS18B20是单总线协议的典型代表 同时也是单总线协议最广泛的应用场景 是常用的数字温度传感器 其输出的是数字信号 具有体积小 硬件开销低 抗干扰能力强 精度高的特点 DS18
  • 动态SQL,模糊查询,关联查询

    一 和 的区别 相同点 这两个都是占位符 用来指定传入sql的参数 不同点 这个是预编译的 不会发生sql注入 如果需要使用拼接的话可以使用sql的内置函数contact 这个是将其中的变量通过字符串拼接的方式插入到sql语句中的 容易发生
  • CodeSmith 使用教程(10): CodeTemplateInfo 对象

    通过CodeTemplateInfo对象可以获取代码模板文件本身的一些信息 比如文件名 源语言 编码方法 其支持的属性有 属性名 描述 CodeBehind 该模板的Code behind的文件名或者模板不使用CodeBehind时为空字符
  • Gromacs初探

    1 Gromacs是用来干什么的 分子动力学模拟是分子模拟中最接近实验条件的模拟方法 能够从原子层面给出体系的微观演化过程 直观地展示实验现象发生的机理与规律 gromacs就是一个用于分子动力学模拟的程序 2 Gromacs的步骤 以T4
  • 项目部署K8s中excel导出模板名乱码

    问题描述 线下环境测试问题 部署到k8s上时 导出报表1时 导出时用的时报表2的模板 进入镜像中查询template下的导出模板 发现模板名都是问号 乱码 而且数量少了一个 可能由于这两个模板的名字都是5个汉字 导致tomcat解析时变成了
  • 还在select 1 union select 2 union……?

    要目录干啥 用Union吧 太长 用values吧 神奇 引申Values用法 用Union吧 太长 有时候 要临时建个短列表 2047以内的纯数字还不错 有个表 也够用 select number from master spt valu
  • 人脸识别、无人驾驶背后:是谁在造人工大脑?

    NEW 关注剁手日记视频号 最新视频 OPPO下一代屏下镜头技术 这可能才是你想要的全面屏 来源 科技新知 文 樟稻 编辑 伊页 转瞬之间 ILSVRC比赛 又称ImageNet比赛 已经停办了四年 作为机器视觉领域最受追捧也是最具权威的学
  • 【马士兵】Python基础--07(列表)

    Python基础 07 文章目录 Python基础 07 列表的添加操作 列表中的删除操作 列表元素的修改操作 对列表的排序操作 列表生成式 列表的添加操作 列表的添加元素有四种方法 列表的添加操作不改变列表的id值 所以相当于没有新的列表