zoukankan      html  css  js  c++  java
  • dict built-in function

    映射类型:字典

    字典是无序的,映射类型对象里哈希值和被指向的对象是一对多的关系,字典中的键必须是可哈希的,所有不可变的类型都是可哈希的,另外针对数字键来说,值相等的两个数字是相同的键,例如1和1.0;说到不可变类型你可能会想到元组,元组作为字典的键是需要注意的地方就是元组中只包括想数字和祖父传这样的不可变参数,才可以作为字典中有效的键

    创建一个字典有以下几种方法。

    1.dict1 = {}

    2.dict2 = dict()

    3.dict3 = dict((['x',1],['y',2]))

    4.dict4 = {}.fromkeys(('x','y'),-1)      # -1为vaules,也可以不填参数,默认为None

        >>>{'y':-1,'x':2}

    5.dict5 = dict(zip(('x','y'),(1,2))

    6.dict6 = dict([('xy'[i-1],i) for i in range(1,3)])

    国际惯例dir(dict)

    ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

    1.clear 清除字典

    2.copy 拷贝,浅拷贝

    3.fromkeys 创建并返回一个新字典

    dic = dict.fromkeys(('x','y'),1)    # 参数seq为键,val参数若没有指定那就是默认值为None
    print(dic)
    
    >>> {'x': 1, 'y': 1}
    

    4.get 对字典中的键key,返回他对应的value,如果不存在,则返回defualt的值,默认是None

    dic = {'k1':1,'k2':2}
    v = dic.get('k3','sb')
    print(v)
    
    >>>sb
    

    5.items 返回一个包含字典中键,值对元祖的列表

    dic = {'k1':1,'k2':2}
    v = dic.items()
    print(v)
    
    >>>dict_items([('k2', 2), ('k1', 1)])    # 是一个列表
    

    6.keys 返回一个包含字典中键的列表

    dic = {'k1':1,'k2':2}
    v = dic.keys()
    print(v)
    
    >>>dict_keys(['k1', 'k2'])
    

    7.pop(key[,default]) 如果字典中key键存在,删除并返回dict[key],如果不存在,且没有给出default的值,则报keyerror

    dic = {'k1':1,'k2':2}
    v = dic.pop('k1','sb')      # default = 'sb'
    print(v)
    
    >>> 1
    

    8.popitem 以元祖的形式返回并删除第一个键值对

    dic = {'k1':1,'k2':2}
    print(dic)
    v = dic.popitem()       # 因为字典是无序的,所以每次的执行结果都可能不一样
    
    print(v)
    
    >>>{'k2': 2, 'k1': 1}
           ('k2', 2)
    
    dic = {'k1':1,'k2':2}
    print(dic)
    v = dic.popitem()
    print(v)
    
    >>>{'k1': 1, 'k2': 2}
           ('k1', 1)    
    

    9.setdefault(key,default = None) 如果字典中不存在key键,由dict[key] = default 为它赋值

    dic = {'k1':1,'k2':2}
    v = dic.setdefault('k3','sb')  
    print(v)
    
    >>> sb
    print(dic)
    
    >>>{'k1': 1, 'k2': 2, 'k3': 'sb'}
    
    vv = dic.setdefault('k2','sb')
    print(vv)
    
    >>> 2
    print(dic)

    >>>{'k1': 1, 'k2': 2}

      

      

    10.update(dict2) 将字典dict2的键值对添加到字典中

    dic1 = {'k1':1,'k2':2}
    dic2 = {'k3':3} dic2.update(dic1) # tips: 字典中原有的键如果与新添加的键重复,那么重复键对应的原有条目的值将被新键所对应的值所覆盖
    print(dic2) >>>{'k2': 2, 'k3': 3, 'k1': 1}

    11.values 返回一个包含字典中所有值的列表

    dic1 = {'k1':1,'k2':2}
    v = dic1.values()   
    print(v)

    >>>dict_values([2, 1])

      

  • 相关阅读:
    Selenium 2自动化测试实战
    Python学习笔记整理(python 3)
    Python编程中出现ImportError: bad magic number in 'numpy': b'x03xf3 '
    收集的一些表单常用的正则表达式。
    转载的一篇博客,感觉不错,自我感觉很到位,来自 http://www.cnblogs.com/laizhihui/p/5810965.html
    闲来无写的,就是中间有一条小细线,求大神指点。
    自己总结的有关PHP一些基本知识和一些常见的js问题
    不经意间看到的东西,感觉不错(转载)。
    无束缚版贪吃蛇(就问你爽不爽)
    小图局部放大效果(图片的话就自己找一个吧,记得是一张图片用两次,不是两张图片,而且你的图片不一定与我一样,需改一下放大的尺寸)
  • 原文地址:https://www.cnblogs.com/learnC/p/5957600.html
Copyright © 2011-2022 走看看