zoukankan      html  css  js  c++  java
  • Python(四)字典

    定义:在Python中,用键值对表示字典,用{}括起来,键值对中间用:分割,每个键值对用逗号分隔

    定义空的字典:

    stu_info={}

    stu_info=dict()

    注意:字典里的key是不能重复的,key必须是唯一的。

    与list区别:比list查询速度快,list越大,查询速度越慢,字典就不会这样,字典的查询速度很快。

    查询字典

    1、dictname['key']

    2、.get方法:dictname.get('key')。

    (1)如果存在key,就会返回相对应的值。

    (2)get如果取得是不存在的key,会返回none。

    (3)get如果取得是不存在的key,但是在.get里面给赋值了默认值,那么就会返回默认值。

    a.

    b.

    c.

    修改字典

    dictname['key']='value'

    新增

    1、dictname['key']='value'

    2、dictname.setdefault('key','value')

    区别:第一种方法,对已经存在的key,会直接修改key对应的值。

              用setdefault新增一个已经存在的key,不会修改已经存在key的值

    删除

    1、dictname.pop('key'),删除不存在的key会报错KeyError:

    2、del dictname['key'],删除不存在的key会报错KeyError:

    清空字典

    dictname.clear()

    随机删除一个元素.popitem()

    dictname.popitem()

    复制一个字典.update

    获取字典里面所有的key  .keys(),获取字典里面所有的value .values()

    循环字典

    循环字典用for,每次取到的都是字典的key

    同时取字典里面的key与value,用.items()方法

    判断key value是否存在字典里面,用in  not in 

    字典嵌套

    字典里面可以嵌套字典,嵌套列表,如下

    操作嵌套的字典

    d = '春波':{
    "car":{'BMW':5,'BENZ':3,'audi':3,'byd':4},
    "house":["北京",'南京','上海'],
    "money":1000000,},
    '周杰伦':{
    "bag":['xx','lv',],
    "house":['三环','4环'],
    "hzp":['skii','ysl'],
    'language':{
    '普通话':10,
    '东北话':20,
    '日语':0,
    '英语':4
    }
    }
    }
    #春波卖了上海一套房子,卖了500万
    d['春波']['house'].pop(-1)
    print(d)
    d['春波']['money']+=5000000
    print(d)
    #算一下春波有多少辆车
    car_num=d['春波']['car'].values()
    print(sum(car_num))
    #春波花了100万,买了一辆劳斯莱斯
    d['春波']['car']='劳斯莱斯'
    print(d)
    d['春波']['money']-=1000000
    print(d)
    #周杰伦的东北话退不了,从20变成10级
    d['周杰伦']['language']['东北话']='10'
    print(d)
    #周杰伦会哪些语言
    print(d['周杰伦']['language'].keys())

     执行结果如下:

    
    
  • 相关阅读:
    动态开点线段树
    Codeforces Round #524 (Div. 2) F. Katya and Segments Sets(主席树)
    Codeforces Round #524 (Div. 2) E. Sonya and Matrix Beauty(字符串哈希,马拉车)
    Codeforces Round #523 (Div. 2) E. Politics(最小费+思维建图)
    UVA12118 Inspector's Dilemma(欧拉路径)
    UVA
    UVA-127 "Accordian" Patience(模拟)
    UVA-1599 Ideal Path(双向BFS)
    UVA-1572 Self-Assembly(拓扑排序判断有向环)
    UVA-122 Trees on the level(树的遍历)
  • 原文地址:https://www.cnblogs.com/qiaomeiling/p/9983849.html
Copyright © 2011-2022 走看看