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)
  • 相关阅读:
    摘记
    【题解】网格 & Single Cut of Failure(trick:答案上界)
    题解 CF1404C 【Fixed Point Removal】
    Linux IO模型知识梳理
    Java IO模型知识梳理
    如何回答什么是线程安全?
    MySQL主从复制与备份
    MySQL的高性能索引策略
    CAS(乐观锁)的原理解析
    Java虚拟机的类加载机制
  • 原文地址:https://www.cnblogs.com/wgpypro/p/9401333.html
Copyright © 2011-2022 走看看