• day05 字典


    今日内容(dict)

    1.基本格式
    
    2.独有方法
    
    3.公共
    
    4.强制转换
    

    1.基本格式

    • 字典(可变类型,3.6之后是有序)
    • 帮助用户去表示一个事物的信息(事物是有多个属性)
    • 键值不能为集合,列表,字典等不可hash类型
    data={键:值,键:值}
    
    info={"name":"Gao","age":18,"hobby":"music"}#键值对
    info['name']
    info['age']
    

    1.独有方法

    1.keys()
    获取字典中所有的键 name age hobby 
    #列表 / 字典  内部可以修改删除===>不可以哈希
    ====>
    #键值创建后,就不能被修改  ===>列表 / 字典 不能当做键值   
    
    info={"name":"Gao","age":18,"hobby":"music"}#键值对
    print(info.keys())
    print(type(info.keys()))
    #dict_keys(['name', 'age', 'hobby'])
    #<class 'dict_keys'>
    #打印出类似列表的一组key值
    
    
    2.values()
    
    info={"k1":"v1","k2":"v2"}
    print(info.values())
    print(type(info.values()))
    #dict_values(['v1', 'v2'])
    #<class 'dict_values'>
    #打印出类似列表的一组value值
    
    
    3.items()
    得到的是多个元祖
    
    #获取字典中所有的键值对
    for v1,v2 in info.items():
    		print(v1,v2)
    #('name', 'Gao')
    #('age', 18)
    #('hobby', 'music')
    
    info={"name":"Gao","age":18,"hobby":"music"}#键值对
    print(info.items())
    #dict_items([('name', 'Gao'), ('age', 18), ('hobby', 'music')])
    
    
    
    4.get(键)
    • 取对应key的value值

    • get相比于index 会自行判断不会报错

    u1=["alex",'123',11]
    print(u1[123])
    #报错  超出范围
    
    info={"k1":"v1","k2":"v2"}
    print(info['k111'])
    #报错
    
    print(info.get("k111"))#None 空
    #None 表示空类型
    
    print(info.get("k111",666)) #如果有值则返回666
    #666
    
    5.pop("key")
    info={"k1":"v1","k2":"v2"}
    result=info.pop('k2')#V2
    print(result,info)
    #v2 {"k1":"v1"}
    #del info['k1']
    
    6.update():更新
    #没有就添加,有就更新
    info={"k1":"v1","k2":"v2"}
    info.update("k3":"v3","k4":"v4")
    print(info)
    #{"k3":"v3","k4":"v4"}
    

    2.公共方法

    1.len()
    2.index

    ​ 索引值就是键值

    3.切片/步长:[没有]

    因为字典是无序的

    4.for:
    for key1 in info.keys():
         print(keys)
    for v1 in info.keys():
         print(v1)
    for k,v in info.items():
         print(k,v)
    for val in info:
       #   val==key
       #for 循环默认输出的是键值
    
    5.修改(存在就修改,不存在,就添加)
    #1.改值
    info['age']=19
    print(info)
    
    #2.改键
    #删除后再增加
    del info['name']
    info['XXXX']="x1"
    print(info)
    
    6.删除del
    del info['name']
    print(info)
    

    3.强制转换dict()

    4.练习

    #1.用户输入键,输出对应的键值
    # info={"name":"Gao","age":18,"hobby":"music"}
    #键值对
    # #print(info.items())
    # for k1,v1 in info.items():
    #     print(k1,v1)
    # val=input("请用户输入:")
    # print(info[val])
    
    #2.用户输入键key后  输出value  当用户输入"n"时候结束
    # info={}
    # while True:
    #     k=input("请输入键值:")
    #     if k=='n':
    #         break
    #     v=input("请输入value:")
    #     info[k]=v
    # print(info)
    
    #3.将mess内容放到字典中以info={"k1":"v1","k2":"v2","k3":"v3"}形式输出
    mess="k1|v1,k2|v2,k3|v3"
    mess=mess.split(",")
    info={}
    for ele in mess:
        #print(ele)
        k1,v1=ele.split('|')
        info[k1]=v1
    print(info)
    
    
    #9.创造一个用户列表 直到用户输入N结束,然后让用户输入用户名和密码登录,输入
    
    # user_list=[]
    #
    # while True:
    #     u=input("请输入用户名:")
    #     if u.upper()=="N":
    #         break
    #     p=input("请输入密码:")
    #     info={}
    #     info['name']=u
    #     info["password"]=p
    #     user_list.append(info)
    #
    # print("请登录:")
    # count=0
    # index=0
    # flag=1
    # while True:
    #     name1=input("请输入用户名:")
    #     pass1=input("请输入密码:")
    #
    #     for ele in user_list:
    #        if ele["name"]==name1 and ele["password"]==pass1:
    #           flag=0
    #           print("登录成功")
    #           break
    #        else:
    #             index += 1
    #             if index > len(user_list):
    #                 count+=1
    #                 print("输入错误,请重新输入:")
    #                 break
    #             else:
    #                 print("继续查找")
    #                 continue
    #     if count > 3 or flag==0:
    #         break
    
    
    

    5.总结

  • 相关阅读:
    项目积累——导出数据
    项目积累——POPUP
    项目积累——jQuery
    项目积累——集合相关知识
    项目积累——关于时间显示和格式的几种方式
    项目积累——综合
    项目积累——js应用
    项目积累——CSS应用

    平衡二叉树
  • 原文地址:https://www.cnblogs.com/koukouku/p/10679148.html
Copyright © 2020-2023  润新知