当前位置: 首页 > news >正文

Python入门学习篇(五)——列表字典

1 列表

1.1 定义

①有序可重复的元素集合
②可以存放不同类型的数据
③个人理解:类似于java中的数组

1.2 相关方法

1.2.1 获取列表长度

a 语法
len(列表名)
b 示例代码
list2 = [1, 2, "hello", 4]
print(len(list2))
c 运行结果

在这里插入图片描述

1.2.2 获取列表值

a 语法
列表名[下标]
# 下标默认从0开始,若列表中嵌套了列表那么就为: 列名表[列表位置][值的位置]
# 如: lst3 = [100, 3.14, True, "湖南人", [1, 2, 3, 4]] 想要取出数字3,那么就为 lst3[4][2]
b 示例代码
list2 = [1, 2, "hello", 4]
print(f"list2列表的第三个位置为: {list2[2]}")
c 运行结果

在这里插入图片描述

1.2.3 值的倒序

a 语法
列表名.reverse()
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.reverse()
print(list2)
c 运行结果

在这里插入图片描述

1.2.4 新增值-加在末尾

a 语法
列表名.append()
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.append("666")
print(list2)
c 运行结果

在这里插入图片描述

1.2.5 新增值-插入任意位置

a 语法
列表名.insert(插入下标,插入值)
# 插入下标默认从0开始算 若为1,则会把值插入到列表的第二个位置,原先第二个位置以及第二个位置之后的值都会往后移
b 示例代码
list2 = [1, 2, "hello", 4, 'world']
list2.insert(1, "666")
print(list2)
c 运行结果

在这里插入图片描述

1.2.6 合并列表

a 语法
列表名1.extend(列表名2)
# 会在列表1最后一个元素的后面拼上列表2的所有元素 即 新的列表1=列表1+列表2
b 示例代码
list1 = [1024, 9, "TTG"]
list2 = [1, 2, "hello", 4, 'world']
list1.extend(list2)
print(list1)
c 运行结果

在这里插入图片描述

1.2.7 删除元素-从左往右检索,找到即删,只删一个

a 语法
列表名.remove()
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.remove(1)
print(list2)
c 运行结果

在这里插入图片描述

1.2.8 删除元素-删除列表的最后一个元素

a 语法
pop()
# pop()的返回值是删除的元素
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop()
print(list2)
c 运行结果

在这里插入图片描述

1.2.9 删除元素-删除指定位置的元素

a 语法
pop(删除元素下标)
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop(1)
print(list2)
c 运行结果

在这里插入图片描述

1.2.10 修改元素

a 语法
列表名[修改元素所在下标]=修改值
b 示例代码
list2 = [1, 2, 5, 3, [1,6,True,3.11]]
print(f"修改前: {list2}")
list2[4][2]="hello world"
print(f"修改后: {list2}")
c 运行结果

在这里插入图片描述

1.3 实战练习

1.3.1 题目要求

希望做一个商品信息录入系统,有以下几大要求
① 初始的界面如下所示:
-------欢迎使用当前系统--------
1.录入商品
2.查询商品
3.退出系统
② 录入商品的界面如下所示:
请输入商品的名称: xxx
请输入商品的成本价:xxx
请输入商品的产地:xxx
请输入商品的生产日期:xxx
③可以循环录入商品
④当多次录入商品后,查询商品界面显示所有录入的商品信息(以列表的形式)

1.3.2 示例代码

print("-------欢迎使用当前系统--------")
projects=[] # 定义一个最外层的列表,用来保存多条商品数据。为了解决新复制一个列表就把其覆盖掉的问题while True:option = input("1.录入商品\n2.查询商品\n3.退出系统\n请输入您的选择:")if option == "1":# 1.录入商品print("--->准备开始录入商品<---")pro_list = []  # 定义一个空列表,用来存储单条数据load_name=input("请输入商品的名称:")pro_list.append(load_name)price=input("请输入商品的成本价:")pro_list.append(price)s_value=input("请输入商品的产地: ")pro_list.append(s_value)data_time=input("请输入商品的生产日期:")pro_list.append(data_time)projects.append(pro_list)# print(pro_list)elif option == "2":# "2.查询商品"print(projects)elif option == "3":print("3.退出系统")else:print("输入有误!!!")

1.3.3 运行截图

在这里插入图片描述

2 字典

2.1 定义

①具有键值对映射关系的一组无序(没有下标)的数据集合
②通过key找对应的value
③标识符:{}  #里面写的都是json数据格式,key一般都是str类型
④关键字: dict
⑤字典定义语法如下
字典名={key1:value1,key2:value2
}

2.2 相关方法

2.2.1 统计字典中key的个数

a 语法
len(字典名)
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(len(dict1))
c 运行截图

在这里插入图片描述

2.2.2 新增字典值

a 语法
字典的变量名["字典中不存在的key"]=新增值
#加在最后面
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"新增前:{dict1}")
dict1["book_honor"]="第三届茅盾文学奖"
print(f"新增后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.3 修改字典值

a 语法
字典的变量名["字典中存在的key"]=修改值
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"修改前:{dict1}")
dict1["book_role"][1]="金波"
print(f"修改后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.4 删除指定字典值

a 语法
字典名.pop(key)
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"删除前:{dict1}")
dict1.pop("book_role")
print(f"删除后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.5 清空字典所有值

a 语法
字典名.clear()
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"清空前:{dict1}")
dict1.clear()
print(f"清空后:{dict1}")
c 运行截图

在这里插入图片描述

2.3 实战练习

2.3.1 题目要求

希望做一个商品信息录入系统,有以下几大要求
① 初始的界面如下所示:
-------欢迎使用当前系统--------
1.录入商品
2.查询商品
3.退出系统
② 录入商品的界面如下所示:
请输入商品的名称: xxx
请输入商品的成本价:xxx
请输入商品的产地:xxx
请输入商品的生产日期:xxx
③可以循环录入商品
④当多次录入商品后,查询商品界面显示需要查询的商品信息(录入的单条商品信息用列表存储,所有信息用字典存储)

2.3.2 示例代码

print("-------欢迎使用当前系统--------")
products = {}
while True:print("1.录入商品\n2.查询指定商品\n3.退出系统")choice = input("请输入您的选择:")if choice == "1":# 录入商品逻辑product = []  # 每次重新输入时需要清空该列表product.append(input("请输入商品的名称: "))product.append(input("请输入商品的成本价: "))product.append(input("请输入商品的产地: "))product.append(input("请输入商品的生产日期: "))products[product[0]] = productelif choice == "2":# 查询指定商品逻辑product_name = input("请输入您要查询的商品名称: ")print(f"需要查询的商品信息为: {products[product_name]}")elif choice == "3":print("系统已关机,欢迎您下此使用")break

2.3.3 运行截图

在这里插入图片描述

http://www.lryc.cn/news/265957.html

相关文章:

  • React尝鲜
  • 锯齿云服务器租赁使用教程
  • HarmonyOS和OpenHarmony的区别
  • Redis Stream消息队列之基本语法与使用方式
  • 制造行业定制软件解决方案——工业信息采集平台
  • [python]用python实现对arxml文件的操作
  • pdf 在线编辑
  • 自然语言处理(NLP):理解语言,赋能未来
  • FastAPI使用loguru时,出现重复日志打印的解决方案
  • 构建每个聚类的profile和deletion_mean特征
  • Milvus数据一致性介绍及选择方法
  • 异常处理和单元测试python
  • 蓝牙物联网在汽车领域的应用
  • 用23种设计模式打造一个cocos creator的游戏框架----(二十二)原型模式
  • paddle 55 使用Paddle Inference部署嵌入nms的PPYoloe模型(端到端fps达到52.63)
  • 自动化测试工具-Selenium:WebDriver的API/方法使用全解
  • 如何通过蓝牙串口启动智能物联网?
  • Linux---基础操作命令
  • uniapp怎么动态渲染导航栏的title?
  • 【机器学习】决策树
  • [node] Node.js的全局对象Global
  • 完整的 Meteor NPM 集成
  • 智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 解决 MATLAB 遗传算法中 exitflg=4 的问题
  • 云卷云舒:云原生业务应用成熟度模型
  • STM32的以太网外设+PHY(LAN8720)使用详解(5):MAC及DMA配置
  • GitHub、Gitee、Gitlab共用一个SSH密钥配置
  • ClickHouse(19)ClickHouse集成Hive表引擎详细解析
  • 用C求斐波那契数列-----(C每日一编程)
  • 在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器