python列表与字典的学习及应用(用户管理系统)

目录

一、列表

列表的方法:

for循环

二、列表举例

 1. 定义一个列表

2. 列表中元素的数据类型没有限制 

3. 添加数据

4. extend方法

5. 删除元素

6. 查询元素

7. 列表遍历

8. 列表排序

三、列表版用户管理系统

四、字典

1. 字典的格式

2. 字典的用法

五、字典举例

1. 定义一个字典

2. 添加元素

3. 修改元素

4. 删除元素

5. 查询元素

6. 通过key拿value

7. 获取所有key,获取所有value

六、字典版用户管理系统

1. 变量定义

2. 用户提示菜单

3. 运行代码


 

一、列表

关于列表 :python用来存储数据的一种容器

列表格式 : [元素1,元素2,元素3,.....]

列表的方法:

append() : 在列表的末尾添加数据

insert()  : 在指定的位置插入内容

list_02.extend(list_03) : 将list_03里面的元素合并到list_02里面,对liset_03没有影响

pop()  : 从列表末尾删除一个数据

remove() :删除列表中的指定内容

del list_01[1] : 删除列表的指定下标对应的数据

sort() :从小到大排序,该方法不会返回列表

reverse(): 对列表进行反转
index(元素) :查询指定元素在列表中的下标,如果元素不存在就报错

for循环

第一种 : for 变量名 in 容器

第二种 : for i in range

二、列表举例

 1. 定义一个列表

# 定义一个列表
list_test = list() # 定义空列表
list_t = []  # 定义空列表
print(list_test)

2. 列表中元素的数据类型没有限制 

list_01 = ["你好", 12, True, 1.2, ["啦啦啦啦"], "#"]
# 输出列表
print("输出列表:", list_01)
# 输出列表: ['你好', 12, True, 1.2, ['啦啦啦啦'], '#']

3. 添加数据

list_01.append(6666)
list_01.insert(3,"小明")

4. extend方法

list_02 = ["我","是","不","是"]
list_03 = ["你","最","疼","爱","的","人"]
# 将括号里面的列表的元素添加到list_02里面
list_02.extend(list_03)
print(list_02)  # ['我', '是', '不', '是', '你', '最', '疼', '爱', '的', '人']
print(list_03)  # ['你', '最', '疼', '爱', '的', '人']

5. 删除元素

list_01.pop()
list_01.remove("你好")
del list_01[1]

6. 查询元素

print("查询下标为2的数据:",list_02[2])
print("查询从列表开始到结束的数据:",list_02[:])
print("查询从列表下标3开始到5结束的数据:",list_02[3:5])
print("反转列表",list_02[::-1])

7. 列表遍历

# 将所有的数据依次输出
i = 0
while i < len(list_02):
    print(list_02[i])
    i+=1
print("第一种for循环取出内容")
for j in list_02:
    print(j)
print("第二种for循环取出内容")
for i in range(len(list_02)) :
    print(list_02[i])

8. 列表排序

list_03 = [57,156,4568,53,7,2,45,2,23]
print(list_03.sort())     # None
print(list_03)            # [2, 2, 7, 23, 45, 53, 57, 156, 4568]
print(sorted(list_03))    # [2, 2, 7, 23, 45, 53, 57, 156, 4568]
print(list_03.reverse())  # None
print(list_03)            # [4568, 156, 57, 53, 45, 23, 7, 2, 2]

三、列表版用户管理系统

上代码

# 定义列表保存用户数据
user_list = []
# 用户提示
print("="*50)
print("欢迎使用用户管理系统v8.8".center(44))
print("1:添加用户名称")
print("2:删除用户名称")
print("3:修改用户名称")
print("4:查询用户名称")
print("5:退出系统")
print("="*50)

while True:  # 让代码反复执行
    # 获取用户输入
    # 如果输入1,提示输入添加用户的名称,并将用户名称添加到列表中
    # 如果输入2,提示输入需要删除的用户名称,并删除输入的用户
    # 如果输入3,提示输入需要修改的用户名称,并输入修改后的用户名称
    # 如果输入4,提示输入需要查询的用户名称,并判断该用户是否存在
    # 如果输入5,提示感谢使用,并退出系统
    # 如果该列表中存在此用户,则不能再添加

    # 获取用户输入
    user_input = input("请输入你想要使用的功能!")
    # 判断是否为数字
    if user_input.isdigit():
        # 类型转换,input接受的数据类型为字符型,要转换为整型
        user_input = int(user_input)
        if user_input == 1:
            # 添加用户
            while True:
                name_insert = input("请输入您要添加的用户名称:")
                if name_insert not in user_list:      # 先判断需添加的用户是否存在
                    user_list.append(name_insert)     # 如果不存在就添加 使用append方法
                    print("添加成功!")
                else:
                    print("该用户已存在!")
                jud = input("是否继续添加:")
                if jud != "否":
                    continue
                else:
                    break
        elif user_input == 2:
            # 删除用户
            while True:
                name_insert = input("请输入您要删除的用户名称:")
                if name_insert in user_list:       # 先判断需删除的用户是否存在
                    i = user_list.index(name_insert)      # 如果存在,先找到该元素对应的下标
                    del user_list[i]        # 按照下标删除
                    print("删除成功!")
                    break
                else:
                    print("该用户不存在!请重新输入")
        elif user_input == 3:
            # 修改用户
            while True:
                name_insert = input("请输入您要修改的用户名称:")
                if name_insert in user_list:      # 先判断需要修改的用户是否存在
                    i = user_list.index(name_insert)     # 如果存在,先找到该元素对应的下标
                    name = input("请输入修改后的名称")
                    if name in user_list:
                        print("您输入的昵称已存在,请重新修改")
                    else:
                        user_list[i] = name      # 按照下标修改
                        print("修改成功!")
                        break
                else:
                    print("该用户不存在!请重新输入")
        elif user_input == 4:
            username = input("请输入你要查询的用户昵称:")
            # 查询用户
            if username in user_list:
                print("该用户在列表中!")
            else:
                print("该用户不在列表中!")
        elif user_input == 5:
            print("感谢您的使用!")
            break
        else:
            print("请输入正确的数字!")
    else:
        print("输入错误,请输入正确的数字!")

四、字典

1. 字典的格式

{key:value,key:value,key:value,....}  , {姓名:老王,地址:隔壁,性别:男,爱好:打球}

键: 值

2. 字典的用法

注意:

        字典的操作都是根据 key,字典的key是不能重复的
        字典里面的元素是无序的
        在字典添加元素时,如果key存在就覆盖value值,如果不存在就添加新的键值对
        字典的key的类型是不可变类型

字典的常用方法:

        get():获取key对应的value

        dict1.update(dict2):将dict2合并到dict1,如果dict2中的key在dict1中没有,就添加键值对,如果dict2中的key在dict1有,覆盖value值

        setdefault():在字典中插入一个值,如果这个key不存在就添加,如果key存在就返回key对应的value值

        value():获取所有的value值

        items():获取所有的key和value

        copy():字典拷贝

                dict2 = dict1.copy()

        fromkey():根据括号内的内容(序列)创建key值,默认添加的value值 为 None

                例:dict3 = dict3.fromkeys(["姓名","地址","性别","年龄"])

        pop():删除元素,根据key值删除

                dict1.pop("name")   

        popitem():删除字典的最后一个元素

                dict1.popitem()

        clear():清除整个字典 

                dict1.clear()    

五、字典举例

1. 定义一个字典

dict1 = {"姓名":"老王","地址":"隔壁","性别":"男","爱好":"打球"}

2. 添加元素

dict1["年龄"] = "18"   # dict1中没有"年龄"这个key

3. 修改元素

dict1["地址"] = "长沙"

4. 删除元素

del dict1["地址"]

5. 查询元素

print("查询姓名:", dict1.get("姓名"))

6. 通过key拿value

for i in dict1.keys():
    print("key={}".format(i),"value={}".format(dict1.get(i)))
    # 先拿到所有的key 然后根据key拿到value

7. 获取所有key,获取所有value

print(dict1.keys())
print(dict1.values())
for i in dict1.values():
    print(i)

# 取出所有的key和value
print(dict1.items())
for i,j in dict1.items():
    print(i,j)

六、字典版用户管理系统

1. 变量定义

# 定义列表保存用户数据
user_list = []
# 提取用户姓名放入user_list01列表中,用于判断
user_list01 = []
# 定义一个元组
user_input_number = ("1", "2", "3", "4", "5")
user_input_type = ("年龄", "地址", "姓名", "性别")

2. 用户提示菜单

print("="*50)
print("欢迎使用用户管理系统v8.8".center(44))
print("1:添加用户信息")
print("2:删除用户信息")
print("3:修改用户信息")
print("4:查询用户信息")
print("5:退出系统")
print("="*50)

3. 运行代码

while True:
    # 获取用户输入
    user_input = input("请输入你想要使用的功能!")
    # 判断输入是否合法
    if user_input in user_input_number:
        if user_input == "1":
            # 添加用户
            while True:
                # 定义空字典保存用户信息
                user_info = {}
                # 接收用户信息
                user_name = input("请输入您要添加的用户名称:")
                if user_name not in user_list01:  # 先判断需添加的用户是否存在
                    user_age = input("请输入您要添加的用户的年龄:")
                    user_sex = input("请输入您要添加的用户性别:")
                    user_address = input("请输入您要添加的用户地址:")
                    # 添加用户信息
                    user_info["姓名"] = user_name
                    user_info["年龄"] = user_age
                    user_info["性别"] = user_sex
                    user_info["地址"] = user_address
                    user_list.append(user_info)
                    user_list01.append(user_name)
                    print("添加成功!")
                    print("现有用户信息如下:")
                    for i in range(len(user_list)):
                        print(user_list[i].items())
                else:
                    print("该用户已存在!")
                jud = input("是否继续添加:")
                if jud != "否":
                    continue
                else:
                    break
        elif user_input == "2":
            # 删除用户
            while True:
                user_name = input("请输入您要删除的用户名称:")
                if user_list != []:
                    if user_name in user_list01:           # 先判断需删除的用户是否存在
                        i = user_list01.index(user_name)   # 如果存在,先找到该元素对应的下标
                        del user_list01[i]                 # 按照下标删除
                        del user_list[i]
                        print("删除成功!")
                        break
                    else:
                        print("该用户不存在!请重新输入")
                else:
                    print("当前用户为空,请先添加用户!")
                    break
        elif user_input == "3":
            # 修改用户
            while True:
                user_name = input("请输入您要修改的用户名称:")
                if user_name in user_list01:           # 先判断需要修改的用户是否存在
                    i = user_list01.index(user_name)   # 如果存在,先找到该元素对应的下标
                    print("当前用户信息如下")
                    print(user_list[i].items())
                    while True:
                        choose = input("请选择您要修改的信息;“姓名”、“年龄”、“性别”、“地址”")
                        if choose in user_input_type:
                            # 输入修改后的值
                            new_type = input("请输入新的值:")
                            # 进行修改
                            user_list[i][choose] = new_type
                            if choose == "姓名":
                                user_list01[i] = new_type
                            # 输出用户列表
                            print("当前用户列表:", user_list)
                            break
                        else:
                            print("输入错误,请重新输入!")
                    break
                else:
                    print("该用户不存在!请重新输入")
        elif user_input == "4":
            user_name = input("请输入你要查询的用户昵称:")
            # 查询用户
            if user_name in user_list01:
                i = user_list01.index(user_name)  # 如果存在,先找到该元素对应的下标
                print("当前用户信息如下")
                print(user_list[i].items())
            else:
                print("查无此人!")
        elif user_input == "5":
            print("感谢您的使用!")
            break
        else:
            print("请输入正确的数字!")
    else:
        print("输入错误,请输入正确的数字!")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TWAS@py

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值