Python学习笔记——字典

来源:互联网 发布:php求和函数 编辑:程序博客网 时间:2024/06/04 19:52
1.字典(映射类型)dict()和{}
1.1    键(key)    值(value)
    dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible isnothing','鱼C工作室':'让编程改变世界'}
    print('鱼C工作室口号:',dict1['鱼C工作室'])
    鱼C工作室口号: 让编程改变世界
    dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible isnothing','鱼C工作室':'让编程改变世界'}
    >>> print('鱼C工作室口号',dict1['鱼C工作室'])
    鱼C工作室口号 让编程改变世界
    >>> print('鱼C工作室口号:',dict1['鱼C工作室'])
    鱼C工作室口号: 让编程改变世界
    >>> dict2 = dict(小甲鱼='让编程改变世界',苍井空='让AV征服所有宅男')
    >>> dict2
    {'小甲鱼': '让编程改变世界', '苍井空': '让AV征服所有宅男'}
    >>> dict2['苍井空'] = '让所有AV从业者都要通过学习Python提高职业技能'
    >>> dict2
    {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能'}
    >>> dict2['爱迪生'] = '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'
    >>> dict2
    {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
    
1.2    工厂函数
        str(),int(),list(),tuple().....
        
    fromkeys(...)
        dict.fromkeys(S[,V]) -> New dict with keys from and values equal to v(v defaults to None).
    
    dict3 = {}
    >>> dict3.fromkeys((1,2,3))
    {1: None, 2: None, 3: None}
    >>> dict3.fromkeys((1,2,3),'Number')
    {1: 'Number', 2: 'Number', 3: 'Number'}
    >>> dict3.fromkeys((1,2,3),'one','two','three')    
    >>> dict3.fromkeys((1,2,3),('one','two','three'))
    {1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
    
    dict3 = dict3.fromkeys(range(9),'Good')
    >>> dict3
    {0: 'Good', 1: 'Good', 2: 'Good', 3: 'Good', 4: 'Good', 5: 'Good', 6: 'Good', 7: 'Good', 8: 'Good'}
访问字典的方法:keys(),values(),items()
    keys()    返回键的引用
            >>> for eachKey in dict3.keys():
                print(eachKey)

                
            0
            1
            2
            3
            4
            5
            6
            7
            8
    values()
            >>> for eachValues in dict3.values():
                print(eachValues)

                
            Good
            Good
            Good
            Good
            Good
            Good
            Good
            Good
            Good
    items()
            >>> for eachItems in dict3.items():
                print(eachItems)

                
            (0, 'Good')
            (1, 'Good')
            (2, 'Good')
            (3, 'Good')
            (4, 'Good')
            (5, 'Good')
            (6, 'Good')
            (7, 'Good')
            (8, 'Good')
1.3    get()
        dict3.get(9)
        >>> print(dict3.get(9))
        None
        >>> dict3.get(9,'不存在')
        '不存在'
        >>> dict3.get(8,'不存在')
        'Good'
        >>>9 in dict3
        False
        >>> 8 in dict3
        True
1.4    clear()
        >>> dict3
        {0: 'Good', 1: 'Good', 2: 'Good', 3: 'Good', 4: 'Good', 5: 'Good', 6: 'Good', 7: 'Good', 8: 'Good'}
        >>> dict3.clear()
        >>> dict3
1.5    浅拷贝与赋值:浅拷贝是对对象的表层拷贝,赋值是贴了一个不同的标签在数据上面
        >>> dict2
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
        >>> dict5 = dict2.copy()
        >>> dict6 = dict2
        >>> dict2
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
        >>> dict5
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
        >>> dict6
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
        >>> id(dict2)
        50274736
        >>> id(dict5)
        50275024
        >>> id(dict6)
        50274736>>> dict2['李宁'] = '一切皆有可能'
        >>> dict2
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
        >>> dict5
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
        >>> dict6
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
1.6    update()
        >>> dict6
        {'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
        >>> dict1
        {'李宁': '一切皆有可能', '耐克': 'Just do it', '阿迪达斯': 'Impossible isnothing', '鱼C工作室': '让编程改变世界'}
        >>> dict1.update(dict6)
        >>> dict1
        {'李宁': '一切皆有可能', '耐克': 'Just do it', '阿迪达斯': 'Impossible isnothing', '鱼C工作室': '让编程改变世界', '小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
                
2    aggregate集合,集合里的元素具有唯一性
2.1    创建结合,两种方法
    2.1.1    直接把一堆元素用花括号{}括起来
    2.1.2    使用set9()工厂函数
                >>> set1 = set([1,2,3,4,5,4,3,2,1])
                >>> set1
                {1, 2, 3, 4, 5}
2.2    访问集合中的值
    2.2.1    使用for把集合中的数据一个个读取出来
    2.2.2    通过in和not in 判断一个元素是否在集合中存在
2.3    不可变集合
    frozen:冰冻的,冻结的
    >>> num1 = frozenset(set1)
    >>> num1
    frozenset({1, 2, 3, 4, 5})
    >>> num1.add(0)
    Traceback (most recent call last):
      File "<pyshell#91>", line 1, in <module>
        num1.add(0)
    AttributeError: 'frozenset' object has no attribute 'add'
           
原创粉丝点击