zoukankan      html  css  js  c++  java
  • 字典及方法

    字典:

      增:

        setdefalt:添加键值对,只有键那么对应值为None,如果字典中存在键值对,则它不会更改和覆盖(有则不变,无则添加)

        dic[key] :value (有则修改,无则添加)

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    # 1,有则修改,无则添加
    dic['hight'] = 176
    dic['age'] = 23
    print(dic)
    # 2,有责不变,无责添加
    dic.setdefault('weight')  # {'name': '太白金星', 'age': 18, 'hobby': 'wife', 'weight': None}
    dic.setdefault('weight',160)  # {'name': '太白金星', 'age': 18, 'hobby': 'wife', 'weight': 160}
    dic.setdefault('name','barry')  # {'name': '太白金星', 'age': 18, 'hobby': 'wife'}
    print(dic)
    setdefalt 和 键-->值

      删:

        pop:根据key删除对应的值,能返回被删除的值

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    ret = dic.pop('age')  # 按照键删除掉键值对
    print(ret)
    dic.pop('age1')  # 没有报错
    ret = dic.pop('age1', '没有此键')  # 设置两个参数,第二个参数是提示语 一般设置成None
    print(ret)
    print(dic)
    pop()

        popitem:python3.6之前>>随机删除某个键值对;python3.6之后>>默认删除最后的键值对;将删除的键值对以元祖形式返回

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    ret = dic.popitem()
    print(ret)
    print(dic)

        clear:清空字典

        del:直接删除,如果字典中存在key,则直接删除,如果不存在,则抛出keyerror

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    del dic['name']  # 按照键删除
    del dic['name1']
    del dic  # 删除字典
    print(dic)
    del

      改:

        update:将字典所有的键值对进行覆盖、添加; 如果两个字典操作的话:dic2.update(dic)>>>把dic字典添加到dic2字典中,如果dic2存在dic中的键name它对应的值会被dic中的值替代

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    dic.update(car='逍客', money=1300)
    dic = {"name": "jin", "age": 18, "sex": "male"}
    dic2 = {"name": "alex", "weight": 75}
    dic2.update(dic)
    # 将dic里面的键值对覆盖添加到dic2中
    print(dic)  # {'name': 'jin', 'age': 18, 'sex': 'male'}
    print(dic2)  # {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
    update()

      查:

        get:查找没有此键默认返回None,还可以设置返回值

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    print(dic.get('age'))
    # 没有此键默认返回None
    print(dic.get('age1'))
    # 可以设置返回值
    print(dic.get('age1', '没有此键'))
    get()

    其他方法

        dic.key()把字典中的键放在一个列表中

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    for i in dic:
        print(i)
    dic.keys() #类似于list的容器类类型
    ret = dic.keys()
    print(ret, type(ret))
    for key in ret:
        print(key)
    print(ret[0])
    # 可以转化成list
    print(list(ret))
    keys()

        dic.values()把字典中的值放在一个列表中

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    dic.values()
    print(dic.values())
    # 转化成list
    print(list(dic.values()))
    for v in dic.values():
        print(v)
    values()

        dic.items() 把字典中的每队键值对以*伪列表*的类型显示

    dic = {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    print(dic.items())
    print(list(dic.items()))
    
    for i in dic.items():
        print(i)
    items

     其他方法:

  • 相关阅读:
    bzoj 1715: [Usaco2006 Dec]Wormholes 虫洞【spfa判负环】
    bzoj 1627: [Usaco2007 Dec]穿越泥地【bfs】
    bzoj 1596: [Usaco2008 Jan]电话网络【贪心】
    bzoj 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路【Floyd】
    bzoj 1629: [Usaco2007 Demo]Cow Acrobats【贪心+排序】
    bzoj 1639: [Usaco2007 Mar]Monthly Expense 月度开支【二分】
    bzoj 1708: [Usaco2007 Oct]Money奶牛的硬币
    bzoj 1827: [Usaco2010 Mar]gather 奶牛大集会【树形dp】
    bzoj 1576: [Usaco2009 Jan]安全路经Travel【spfa+树链剖分+线段树】
    bzoj 1592: [Usaco2008 Feb]Making the Grade 路面修整【dp】
  • 原文地址:https://www.cnblogs.com/zhangxiangning/p/10483184.html
Copyright © 2011-2022 走看看