python字典的相关操作

python字典的相关操作

  • 字典定义、与引用

    names = {'name':'老王','age':18,'addr':'山东'}
    print("%s %d %s"%(names['name'],names['age'],names['addr']))
    
    # 运行结果
    老王 18 山东
    
  • 名片管理系统

    #1、打印功能提示
    print("="*50)
    print(" 名片管理系统 8v.6")
    print(" 1、添加一个新的名片")
    print(" 2、删除一个名片")
    print(" 3、修改一个名片")
    print(" 4、查询一个名片")
    print(" 5、显示所有的名片")
    print(" 6、退出系统")
    print("="*50)
    
    card_infors = []
    
    while True:
        #2、获取用户的输入
        reault =int(input("请输入你的选择:"))
    
        #3、根据用户的输入,执行相应的功能
        if reault == 1:
            new_name = input("请输入新的名字:")
            new_qq = input("请输入新的qq:")
            new_weixin = input("请输入新的weixin:")
            new_addr = input("请输入新的地址:")
            new_infor = {}
            new_infor['name'] = new_name
            new_infor['qq'] = new_qq
            new_infor['weixin'] = new_weixin
            new_infor['addr'] = new_addr
            card_infors.append(new_infor)
            #print(card_infors) for test
            print("="*50)
            print()
        elif reault == 2:
            new_name = input("请输入你要删除人的姓名:")
            lenght = len(card_infors)
            i = 0
            while i<lenght:
            
                if card_infors[i]['name'] == new_name:
                    del card_infors[i]
                    break
                i+=1
            print(card_infors)
            print("="*50)
            print()
        elif reault == 3:
            index = 0
            i = 0
            name = input("请输入你要修改的名字:")
            for dict_name in card_infors:
                if dict_name['name'] == name:
                    index+=1
                    card_infors[i]['name'] = input("请输入一个新的名字:")    
                    card_infors[i]['qq'] = input("请输入一个新的qq:")    
                    card_infors[i]['weixin'] = input("请输入一个新的weixin:")    
                    card_infors[i]['addr'] = input("请输入一个新的地址:")
                    print(card_infors)
                    break
                i+=1
            if index == 0:
                print("没有找到。。。")
            print("="*50)
            print()
        elif reault == 4:
            index = 0
            name = input("请输入你要查找的名字:")
            for dict_name in card_infors:
                if dict_name['name'] == name:
                    index+=1
                    print("名字\tQQ\t微信\t住址")
                    print("%s\t%s\t%s\t%s"%(dict_name['name'],dict_name['qq'],dict_name['weixin'],dict_name['addr']))
                    break
            if index == 0:
                print("没找到。。。")
            print("="*50)
            print()
        elif reault == 5:
            print("名字\tQQ\t微信\t住址")
            for card in card_infors:
                print("%s\t%s\t%s\t%s"%(card['name'],card['qq'],card['weixin'],card['addr']))
            print("="*50)
            print()
        elif reault == 6:
            break
        else:
            print("你输入的有误,请亲从新输入(1-5)谢谢亲的配合。。。")
    
           
    # 运行结果
    ==================================================
     名片管理系统 8v.6
     1、添加一个新的名片
     2、删除一个名片
     3、修改一个名片
     4、查询一个名片
     5、显示所有的名片
     6、退出系统
    ==================================================
    请输入你的选择:1
    请输入新的名字:李白
    请输入新的qq:1333333333
    请输入新的weixin:1222222222
    请输入新的地址:老 老王街道
    ==================================================
    
    请输入你的选择:5
    名字	QQ	微信	住址
    李白	1333333333	1222222222	老王街道
    ==================================================
    
  • 字典的元素增-dict[key]=value

    names = {'name':'老丁','age':18,'addr':'山东'}
    
    #增加一个元素
    #写一个没有的键名
    names['photo'] = '1330137079'
    print(names)
    
    # 运行结果
    {'age': 18, 'addr': '山东', 'name': '老丁', 'photo': '1330137079'}
    
  • 字典元素删除-del

    names = {'name':'老丁','age':18,'addr':'山东'}
    
    #del删除一个元素
    #要删除已有的键要不然就报错
    del names['name']
    print(names)
    
    # 运行结果
    {'age': 18, 'addr': '山东'}
    
  • 字典的元素的修改-dict[key]=value

    names = {'name':'老丁','age':18,'addr':'山东'}
    
    #修改一个元素的值  你要写已有的键
    #要不然就是添加元素了
    names['age']=19
    print(names)
    
    # 运行结果
    {'name': '老丁', 'age': 19, 'addr': '山东'}
    
  • 字典元素的查询-get

    names = {'name':'老丁','age':18,'addr':'三栋'}
    
    #查询字典元素
    #有这个键就会反回它的值
    a=names.get('name')
    print(a)
    
    # 运行结果
    老丁
    
  • 字典里for-else

    names = [{'name':'老丁','age':18,'addr':'山东'},{'name':'老李','age':19,'addr':'河北'}]
    
    name = input("请输入你要查找的名字:")
    
    for temp in names:
        if temp['name'] == name:
            print('找到了...')
            break
    else:
        print("没有找到...")
    
    # 运行结果
    请输入你要查找的名字:张三
    没有找到...
    
  • 测量字典中.键值对的个数-len

    name = {'name':'老丁','age':18}
    
    #测量字典中.键值对的个数
    num = len(name)
    print(num)
    
    # 运行结果
    2
    
  • 反回一个包含字典所有key的列表对象-keys

    name = {'name':'老丁','age':18}
    
    #反回一个包含字典所有key的列表对象
    num = name.keys()
    print(num)
    
    # 运行结果
    dict_keys(['age', 'name'])
    
  • 反回一个包含字典所有value的列表对象-values

    name = {'name':'老丁','age':18}
    
    #反回一个包含字典所有value的列表对象
    num = name.values()
    print(num)
    
    # 运行结果
    dict_values(['老丁', 18])
    
  • 反回一个包含所有键.值元组的列表对象-items

    name = {'name':'老丁','age':18}
    
    #反回一个包含所有(键,值)元组的列表对象
    num = name.items()
    print(num)
    
    # 运行结果
    dict_items([('name', '老丁'), ('age', 18)])
    
  • for循环遍历字典

    name = {'name':'老丁','age':18}
    
    #for循环遍历字典
    #把字典里的(键,值)当元组反回
    for temp in name.items():
        print(temp)
    
    
    for temp in name.items():
    
        print("key=%s   value=%s"%(temp[0],temp[1]))
    
    # 运行结果
    ('age', 18)
    ('name', '老丁')
    key=age   value=18
    key=name   value=老丁
    
  • 用列表生成新字典-fromkeys

    a = ["name","age","addr"]
    b = 3
    t = {}
    t = t.fromkeys(a,b) #b可写可不写 a必须是列表
    print(t)
    
    # 运行结果
    {'age': 3, 'name': 3, 'addr': 3}
    
  • 如果key在字典中,返回对应的值。如果不在字典中,则插入key及设置的默认值default,并返回default,default默认值为None-setdefault

    dict = {'Name': 'Runoob', 'Age': 7}
    #如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
    print ("Age 键的值为 : %s" %  dict.setdefault('Age', None))
    print ("Sex 键的值为 : %s" %  dict.setdefault('Sex', None))
    print ("新字典为:", dict)
    
    # 运行结果
    Age 键的值为 : 7
    Sex 键的值为 : None
    新字典为: {'Name': 'Runoob', 'Age': 7, 'Sex': None}
    
  • 把字典键值对删除反回一个键值对的元组-popitem

    t = {"name":"laowang","age":18,"addr":"山东"}
    r = t.popitem() #把字典键值对删除反回一个键值对的元组 t不能为空
    print(t)
    print(r)
    
    # 运行结果
    {'addr': '山东', 'age': 18}
    ('name', 'laowang')
    
  • 把一个字典元素添加到另一个字典中-update

    a = {"name":"laownag","age":18}
    b = {"addr":"山东"}
    a.update(b) #把一个字典元素添加到另一个字典中 如果键值有重复,则 b  的内容更新替换到 a 中
    print(a)
    
    # 运行结果
    {'addr': '山东', 'age': 18, 'name': 'laownag'}
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

只因为你温柔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值