zoukankan      html  css  js  c++  java
  • python字典

    主要内容

    1字典的简单介绍

    2字典增删改查和其他操作

    3字典的嵌套

    一字典的介绍

    字典是python中唯一的一个映射类型.在dict中key是唯一的. 在保存的时候, 根据key来计

    算出一个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的
    key'必须是可hash的, 如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,
    那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址而规定的.
    已知的可哈希(不可变)的数据类型: int, str, tuple, bool
    不可哈希(可变)的数据类型: list, dict, set
    语法 :
    {key1: value1, key2: value2....}

    注意可以是不可变的(可哈希)的.valiue没有要求.可以保存任意类型的数据

    dic = {123:456,True:999,'id':1,'name':'syalr','age':18,'stu'['帅哥','美女']}
    

      key list 和dict 还有set是不可变类型不能作为key

    二字典的增删改查

    1增加 原始和setdefault

    前者可以将key的值改变后者不行

    dic = {}

    dic = {}
    dic['jay']='周杰伦'
    dic.setdefault('王小二')
    

     2删除

    pop del popitem

    解构

    a,b = (1,5) 

    dic = {'猪刚鬣':'元帅','朱元璋':'皇帝',}
    dic.pop('朱元璋')#有返回值
    dic.clear('朱元璋')#清空列表
    dic.popitem('朱元璋')#随机删
    del dic['朱元璋'] 删除
    

      改

    update             

    原来的在增介绍过

    dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
    dic2 = {'age':'59','吴用':'军师'}
    dic.update(dic2)#把dic2更新到dic中
    

      查

    和列表一样的查

    get

    dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
    print(dic[age])
    dic.get('诸葛亮')
    

      

    其他

    keys

    dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
    print(dic.keys)
    for el in dic.keys():
        print(el)
        print(dic.get(el))
    

     values

    dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
    
    for el in dic.valies():
        print(el)
    

      items

    dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
    
    for k,v in dic.items():
        print(k)
        print(v)
    

      嵌套

    # wangfeng = {
    #     'name':'汪峰',
    #     'age':46,
    #     'wife':{
    #         'name':'章子怡',
    #         'age':43
    #     },
    #     'children':[
    #         {'name':'小叮当','age':10},
    #         {'name':'大叮当','age':16}
    #     ]
    # }
    #  汪峰的第二个儿子的年龄
    # print(wangfeng.get("children")[1].get("age"))
    # print(wangfeng.get("wife").get("name"))
    # print(wangfeng.get("name"))
    

      

  • 相关阅读:
    svn cleanup failed–previous operation has not finished 解决方法
    开源SNS社区系统推荐
    从网络获取图片本地保存
    MS SQL Server 数据库连接字符串
    KeepAlive
    Configure Git in debian
    sqlserver query time
    RPi Text to Speech (Speech Synthesis)
    SQL Joins with C# LINQ
    search or reseed identity columns in sqlserver 2008
  • 原文地址:https://www.cnblogs.com/lnrick/p/9140821.html
Copyright © 2011-2022 走看看