• 03-Python基础之字典


    python基础之字典

    1.字典

    数据类型划分:可变数据类型和不可变数据类型

    不可变数据类型:元组,bool int str       可哈希

    可变数据类型:list,dict set    不可哈希

    dict key 必须是不可变数据类型,可哈希,
    value:任意数据类型。

    2.字典的增删改查

    #字典的增删改查,
    # 增,直接用字典键值增加,有则修改值没有增加
    dic1 = {'age': 18, 'name': 'huangjin', 'sex': 'male',}
    dic1['phone'] = 17678963254
    dic1['age'] = 20
    print(dic1)   #{'phone': 17678963254, 'name': 'huangjin', 'age': 20, 'sex': 'male'}
    
    dic1.setdefault('Nation','汉族')       #setdefault设置,有不操作,没有新建一个键,值没有复制则为None
    print(dic1)
    
    #删除
    # print(dic1.pop('age'))   #一处键,返回键值为20,可以设置返回为None
    # print(dic1.pop('二哥', None))  # 可设置返回值     返回值为None
    # print(dic1)                 #{'Nation': '汉族', 'name': 'huangjin', 'sex': 'male', 'phone': 17678963254}
    
    #print(dic1.popitem())  # 随机删除 有返回值 返回的元组里面是删除的键值
    
    # del dic1['name']  #直接删除键值
    # del dic1        #删除字典
    # print(dic1)
    
    # dic1.clear() #清空字典
    
    #改,直接对键赋值,update更新
    dic = {"name":"jin","age":18,"sex":"male"}
    dic2 = {"name":"alex","weight":75}
    dic2.update(dic)
    
    
    # print(dic1.keys(),type(dic1.keys()))
    # print(dic1.values())
    # print(dic1.items())

    3.字典的for循环遍历

    三种方式:遍历键,遍历值,遍历键值

    dic = {'sex': 'male', 'name': 'jin', 'weight': 75, 'age': 18}
    key = []
    for i in dic.keys():    #遍历键  key = ['weight', 'age', 'name', 'sex']
        key.append(i)
    
    val = []
    for i in dic.values():#遍历值val = [75, 18, 'jin', 'male']
        val.append(i)
    
    dic_list = []
    for i in dic:  #默认遍历键 dic_list = ['weight', 'age', 'name', 'sex']
        dic_list.append(i)
    
    print(key,val,dic_list)
    
    for k,v in dic.items(): #遍历键值
        print(k,v)
    '''
    age 18
    weight 75
    sex male
    name jin
    '''

    字典嵌套:即字典中还有字典,如需修改,字典按键值,嵌套列表按列表索引值

    dic = {
        'name':['huangjin','baiyin','bojin'],
        'fav':{
            'girl':'多多的',
            'money':'无穷的',
               },
        'age':21,
        'nation':'布依族'
    }
    
    #修改黄金为钱
    dic['name'][0] = ''
    print(dic)  #{'age': 21, 'fav': {'girl': '多多的', 'money': '无穷的'}, 'nation': '布依族', 'name': ['钱', 'baiyin', 'bojin']}
    #修改girl为苗条的
    dic['fav']['girl'] = '苗条'
    print(dic)#{'name': ['钱', 'baiyin', 'bojin'], 'fav': {'money': '无穷的', 'girl': '苗条'}, 'nation': '布依族', 'age': 21}

    注意:Python3.6以后字典默认是有序的,pytho3.5以前的字典都是无序,别问我为什么知道

    4.总结

    python中主要还是字符串,列表,字典之间的转换,需要熟练掌握常用方法,排序等等,Py3.5及以前版本如需使用有序字典需要导入OrderedDict 

     
    自学课程参照老男孩全栈视频
  • 相关阅读:
    NewtonSoft.Json
    属性
    csv文件
    C#和递归算法实现删除,清空,拷贝目录
    朴素贝叶斯应用:垃圾邮件分类
    压缩图片
    numpy分布图
    鸢尾花
    numpy数组及处理:效率对比
    完整的中英文词频统计
  • 原文地址:https://www.cnblogs.com/chenrongjin/p/10014476.html
Copyright © 2020-2023  润新知