zoukankan      html  css  js  c++  java
  • python基础五

    字典

      dict   用{}表示  用键值对数据  {key:value}  唯一性

      键  都必须是可哈希的  不可变数据类型可以当作字典中的键

      值  没有任何限制

    增删改查

    增加

         dic[key] = value
    
            dic.setdefault(key,value)   如果键在字典中存在不进行任何操作,否则就添加
    
                                        可以通过key查询,没有这个key返回None

    删除

            pop(key)                    有返回值  返回的是被删除value
            del dic[key]
            popitem()                   随机删除
            clear()                     清空字典
    *******字典中的遍历删除问题:
    这种方式在python3中报错
    这种方式是一定有问题的:
    
    d = {'a':1, 'b':2, 'c':3}
    for key in d:
      d.pop(key)
    会报这个错误:RuntimeError: dictionary changed size during iteration
    这种方式Python2可行,Python3还是报上面这个错误。
    
    d = {'a':1, 'b':2, 'c':3}
    for key in d.keys():
      d.pop(key)
    Python3报错的原因是keys()函数返回的是dict_keys而不是list。Python3的可行方式如下:
    d = {'a':1, 'b':2, 'c':3}
    for key in list(d):
      d.pop(key)

         dic[key] = value
            dic.update(字典)

         get(key)
            dic[key]
            for 循环
            setdefault(key)

    字典的其他操作

    keys     获取到所有的键存在一个高仿的列表中
    
            values   获取到所有的值存在一个高仿的列表中
    
            items    获取到所有的键值对已元祖的形式存在一个高仿的列表中
    
            解构:
    
                a,b  = 1, 2
    
                a,b  = (1,2)
    
                a,b  = [1,2]

    字典的嵌套

                dic = {
                    'name':'汪峰',
                    'age':43,
                    'wife':{
                        'name':'国际章',
                        'age':39,
                        'salary':100000
                    },
                    'baby':[
                        {'name':'熊大','age':18},
                        {'name':'熊二','age':15},
                    ]
    
                }
    
                dic['baby'][0]['age'] = 19
    
                print(dic)
  • 相关阅读:
    Uva 10779 collector's problem
    poj 2728 最优比率树(最小生成树问题)
    LA 3126 二分图匹配 最小路径覆盖
    poj 1149 最大流构图
    Step By Step(Java XML篇)
    Step By Step(Java 输入输出篇)
    Step By Step(Java 集合篇)
    Step By Step(Java 线程篇)
    Step By Step(Java 反射篇)
    Step By Step(Java 国际化篇)
  • 原文地址:https://www.cnblogs.com/wgpypro/p/9401333.html
Copyright © 2011-2022 走看看