zoukankan      html  css  js  c++  java
  • 基本数据之-字典

    1.字典的创建的多种方法:但是目前只需求3种就可

    # 方式一:
    # dic = dict((('one', 1), ('two', 2), ('three', 3)))
    # print(dic)  # {'one': 1, 'two': 2, 'three': 3}
    

      

    # 方式二:
    dic = dict(one=1, two=2, three=3)
    print(dic)
    # 方式三:
    dic = dict({'one': 1, 'two': 2, 'three': 3})
    print(dic)
    
    #结果 {'one': 1, 'two': 2, 'three': 3}

    2.字典的增删改查

    增加一个setdefault  如果存在key ,不会执行新增
    # 增:
    #1. 直接增加 有则改之,无则增加
    dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
    
    dic['sex'] = ''
    print(dic)
    
    结果:{'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车'], 'sex': ''}
    
    
    dic['age'] = 23  #
    
    结果:dic = {'name': '太白', 'age': 23, 'hobby_list': ['直男', '钢管', '开车']}
    #删,
    # pop 按照键删除键值对, 有返回值  ***
    # 设置第二个参数则无论字典中有无此键都不会报错
    #如果无key时,用pop(a,b)这种方式.增加第二个参数,就不会报错.会把第二个参数直接带出来.删除建义用这种
    
    dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
    
    dic.pop('age')
    
    #结果:dic = {'name': '太白',  'hobby_list': ['直男', '钢管', '开车']}
    
     ret = dic.pop('hobby','没有此键')
    print(ret) 
    结果是:没有此键   
    # clear  清空  **
    dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
    dic.clear()
    print(dic)
    
    结果:{}
    # del  **
    # # del dic['age']
    # del dic['age1']
    # print(dic)
    
    如key时没有的话.会直接报错.建义用pop带第二个参数删除
    #
    dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
    dic['name'] = 'alex'
    print(dic)
    
    结果:{'name': 'alex', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
    #
    # print(dic['hobby_list'])
    # print(dic['hobby_list1'])
    #用这种方法查的话.如没有key时.会报错..用get来查找
    
    # get  ***
    # l1 = dic.get('hobby_list')
    # l1 = dic.get('hobby_list1','没有此键sb')  # 可以设置返回值
    # print(l1)

    3.三个特殊的keys ,values,items

    keys:取的是所有的主键

    values:取的是所有的键值

    items:取的是所有的主键和键值

    # 可以转化成列表
    # print(list(dic.keys()))
    # print(list(dic.values()))
    # for key in dic.keys():
    #     print(key)  取的是所有的key值
    
    # for key in dic:
    #     print(key)
    
    
    # values()
    # print(dic.values())
    # print(list(dic.values()))
    
    # for value in dic.values():
    #     print(value)  取的是所有的value值
    
    
    # items()
    # print(dic.items())
    
    # for key,value in dic.items():
    #     print(key,value) 取的是所有的key,value值

     4。字典的嵌套

    dic = {
        'name': '汪峰',
        'age': 48,
        'wife': [{'name': '国际章', 'age': 38},],
        'children': {'girl_first': '小苹果','girl_second': '小怡','girl_three': '顶顶'}
    }
    
    # 1. 获取汪峰的名字。
    print(dic['name']) 
    
    #或者 get()
    print(dic.get('name')
    
    # 2.获取这个字典:{'name':'国际章','age':38}。
    print(dic.get('wife')[0])
    或者
    dic['wife'][0]
    
    # 3. 获取汪峰妻子的名字。
    print(dic['wife'][0]['name'])
    
    # 4. 获取汪峰的第三个孩子名字。
    print(dic['children']['girl_three'])

    一些例题

    *选做题:**判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上
    
    content = input('请输入:')
    if content == content[::-1]:
        print('它是回文')
    else:
        print('它不是')
  • 相关阅读:
    代理类和装饰类的区别
    spring mvc 处理映射的几种方式
    如何深入浅出的理解跳转方式:重定向和请求转发
    springMVC拦截配置
    ※版本管理※=>☆SVN工具=>※解决地域麻烦※№→搭建自己的网络SVN (SourceForge 免费) [转]
    权力社会? 金钱社会? 透过现象看本质-让权力和金钱的力量沿着制度的河道流淌,才是社会稳定的基石
    自己封装的CMusic类 【转】
    VC++中MCI播放音频文件 【转】
    DevExpress.XtraGrid 【转】
    C# Process.Start()方法详解 [转]
  • 原文地址:https://www.cnblogs.com/zengluo/p/12854677.html
Copyright © 2011-2022 走看看