1 列表
1.1 定义
①有序可重复的元素集合
②可以存放不同类型的数据
③个人理解:类似于java中的数组
1.2 相关方法
1.2.1 获取列表长度
a 语法
len(列表名)
b 示例代码
list2 = [1, 2, "hello", 4]
print(len(list2))
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9c7ad3fef05440d290df8f682fea983f.png#pic_center)
1.2.2 获取列表值
a 语法
列表名[下标]
b 示例代码
list2 = [1, 2, "hello", 4]
print(f"list2列表的第三个位置为: {
list2[2]}")
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d47f8911f10e4bd7a4e1dbf27d0616d0.png#pic_center)
1.2.3 值的倒序
a 语法
列表名.reverse()
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.reverse()
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/22f1d06cf8574fd5adda0db0f72110be.png#pic_center)
1.2.4 新增值-加在末尾
a 语法
列表名.append(值)
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.append("666")
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8d1902ea57e24c33ac8f46788b6dbcac.png#pic_center)
1.2.5 新增值-插入任意位置
a 语法
列表名.insert(插入下标,插入值)
b 示例代码
list2 = [1, 2, "hello", 4, 'world']
list2.insert(1, "666")
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/202305bf200e4914a765f45d39b31fce.png#pic_center)
1.2.6 合并列表
a 语法
列表名1.extend(列表名2)
b 示例代码
list1 = [1024, 9, "TTG"]
list2 = [1, 2, "hello", 4, 'world']
list1.extend(list2)
print(list1)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f487bb530254463db999e47b7ea30681.png#pic_center)
1.2.7 删除元素-从左往右检索,找到即删,只删一个
a 语法
列表名.remove(值)
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.remove(1)
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/234a4bd2efc1417f96bb1ae84634db92.png#pic_center)
1.2.8 删除元素-删除列表的最后一个元素
a 语法
pop()
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop()
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c9c09ec3152a49558c640218561c7316.png#pic_center)
1.2.9 删除元素-删除指定位置的元素
a 语法
pop(删除元素下标)
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop(1)
print(list2)
c 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9b2bd880f93843de9e5931a7eda0f00b.png#pic_center)
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 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5a8fe5e12dcf4a1ca82e3767e13bb9af.png#pic_center)
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":
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)
elif option == "2":
print(projects)
elif option == "3":
print("3.退出系统")
else:
print("输入有误!!!")
1.3.3 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7fa88436623645199d620421b2595a0c.png#pic_center)
2 字典
2.1 定义
①具有键值对映射关系的一组无序(没有下标)的数据集合
②通过key找对应的value
③标识符:{
}
④关键字: 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 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/dc9f9df8c0e4448f96e982d051e3c485.png#pic_center)
2.2.2 新增字典值
a 语法
字典的变量名["字典中不存在的key"]=新增值
b 示例代码
dict1 = {
"book_name": "平凡的世界",
"book_author": "路遥",
"book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"新增前:{
dict1}")
dict1["book_honor"]="第三届茅盾文学奖"
print(f"新增后:{
dict1}")
c 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b8001beb2d5742a48191346042aa85eb.png#pic_center)
2.2.3 修改字典值
a 语法
字典的变量名["字典中存在的key"]=修改值
b 示例代码
dict1 = {
"book_name": "平凡的世界",
"book_author": "路遥",
"book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"修改前:{
dict1}")
dict1["book_role"][1]="金波"
print(f"修改后:{
dict1}")
c 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5a852a400d2340ce890d06e8ab91841a.png#pic_center)
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 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/16699847616c49c8b17e3864852c0589.png#pic_center)
2.2.5 清空字典所有值
a 语法
字典名.clear()
b 示例代码
dict1 = {
"book_name": "平凡的世界",
"book_author": "路遥",
"book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"清空前:{
dict1}")
dict1.clear()
print(f"清空后:{
dict1}")
c 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d89bd66cd9d24434979e738d0c48cec8.png#pic_center)
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]] = product
elif choice == "2":
product_name = input("请输入您要查询的商品名称: ")
print(f"需要查询的商品信息为: {
products[product_name]}")
elif choice == "3":
print("系统已关机,欢迎您下此使用")
break
2.3.3 运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e95b7985ebf44b8ca4bd2ca9133742e0.png#pic_center)