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

    字典:python中唯一一个映射数据类型

    按照可变与不可变分类:

    可变:list   dict    set

    不可变:  int   str    boor   tuple

    key : value

    key:是唯一的,且不可变的数据类型

    value:任意数据类型

    在3.5版本之前,字典是无序的,3.6是有序的

    增:

    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic["name1"]= "liulin"
    print(dic)
    #输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}
    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.setdefault("name1","liulin")
    print(dic)
    #输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}

    删:

    #①按key删,有返回值
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.pop("name","没有此项内容")
    print(dic)
    #如果name不在字典里,并且不写”没有此项内容“,则会报错
    #②clear 清空
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.clear()
    print(dic)
    #输出:{}
    #③del
    #删除字典
    dic = {"name":"刘林","age":23,"sex":"man"}
    del dic
    
    #删除键值对
    dic = {"name":"刘林","age":23,"sex":"man"}
    del dic["name"]
    print(dic)
    #输出:{'age': 23, 'sex': 'man'}
    
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.popitem()
    print(dic)
    #随机删除,但是python3.5之后有序,所以默认删除最后一个,有返回值
    #输出:{'name': '刘林', 'age': 23}

    改 :dic["key"] = value  key是字典里有的

    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic["name"] = "liulin"
    print(dic)
    #输出:{'name': 'liulin', 'age': 23, 'sex': 'man'}
    
    
    #②update
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic2 = {"name":"liulin","hobby":"basketball"}
    dic.update(dic2)
    print(dic)
    #将dic的键值对进行覆盖并添加到dic
    #输出:{'name': 'liulin', 'age': 23, 'sex': 'man', 'hobby': 'basketball'}

    dic = {"name":"刘林","age":23,"sex":"man"}
    print(dic["name"])
    #没有返回值,如果没有key,报错
    #输出:刘林
    
    #get  有返回值,没有key 返回nane
    dic = {"name":"刘林","age":23,"sex":"man"}
    print(dic.get("name",”返回值“))
    #输出:刘林

    分别赋值:a,b = 1,2

                     a=1   b=2

    罗列所有key:

    dic = {"name":"刘林","age":23,"sex":"man"}
    keys = dic.keys()
    print(keys)
    #输出:dict_keys(['name', 'age', 'sex'])

    罗列所有值:

    dic = {"name":"刘林","age":23,"sex":"man"}
    values = dic.values()
    print(values)
    #输出:dict_values(['刘林', 23, 'man'])

    罗列所有键值对:

    dic = {"name":"刘林","age":23,"sex":"man"}
    items = dic.items()
    print(items)
    #输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

    循环:

    dic = {"name":"刘林","age":23,"sex":"man"}
    for i in dic:
        print(i)       #输出key
    for k in dic.keys():
        print(k)      #输出key
    for v in dic.values():
        print(v)      #输出value
    items = dic.items()
    print(items)    #输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

    字典嵌套

    dic = {
        'name':'金鑫',
        'name_list':[1,2,3,'李杰'],
        1:{
            'python10':['小黑','萌哥'],
           '老男孩':{'name':'oldboy','age':56}
        }
    }
    #1,[1,2,3,'李杰']追加'wusir'
    #2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
    #3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
    l = [1,2,3]
    # print(l.append('wusir'))
    # print(l)
    # dic['name_list'].append('wusir')
    # print(dic)
    # l = dic[1]['python10']
    # l.insert(1,'花哥')
    # print(dic)
    # dic1 = dic[1]
    # dic2 = dic1['老男孩']
    # dic2['hobby'] = '男人'
    
    # dic[1]['老男孩']['hobby'] = 'man'
    # print(dic)
  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/pygg/p/8352580.html
Copyright © 2011-2022 走看看