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

1 列表

1.1 定义

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

1.2 相关方法

1.2.1 获取列表长度

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

1.2.2 获取列表值

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

1.2.3 值的倒序

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

1.2.4 新增值-加在末尾

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

1.2.5 新增值-插入任意位置

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

1.2.6 合并列表

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

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

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

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

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

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

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

1.2.10 修改元素

a 语法
python 复制代码
列表名[修改元素所在下标]=修改值
b 示例代码
python 复制代码
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 题目要求

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

1.3.2 示例代码

python 复制代码
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 定义

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

2.2 相关方法

2.2.1 统计字典中key的个数

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

2.2.2 新增字典值

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

2.2.3 修改字典值

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

2.2.4 删除指定字典值

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

2.2.5 清空字典所有值

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

2.3 实战练习

2.3.1 题目要求

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

2.3.2 示例代码

python 复制代码
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 运行截图

相关推荐
郭庆汝1 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
思则变4 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络5 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find6 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取7 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector9 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习9 小时前
Python入门Day2
开发语言·python
Vertira9 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉9 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗9 小时前
黑马python(二十四)
开发语言·python