• python之字典(dict)


    字典:一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

    字典由键和对应值成对组成 {key:value,key1,value1}, 例如:

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}

    注意:

      (1)每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
      (2)键必须独一无二,但值则不必。
      (3)值可以取任何数据类型.

    字典相关操作:

    1.增

    dic = {'中国': '汉语', '美国': '英语'}
    dic['日本'] = '日语'
    dic['韩国'] = '韩语'
    print(dic)
    #setdefault()
    dic.setdefault('韩国', '韩语')
    dic.setdefault('英国')
    dic.setdefault('中国', '还有英语')
    print(dic)

    2.删

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    dic.pop('韩国')  #根据指定key, 删除key:value
    dic.popitem() #删除最后一项.  python的早期版本中,字典是无序的,随机删除一项.
    del dic['美国'] #清空
    print(dic)

    3.改

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    dic['中国'] = '汉语,还有其他语言'
    print(dic)#{'中国': '汉语,还有其他语言', '美国': '英语', '韩国': '韩语'}

    4.查

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    #1.dic[key]
    print(dic['中国']) #汉语
    print(dic['日本']) #KeyError: '日本'   报错,'日本'key不存在
    
    #2.dic.get(key, 值)
    print(dic.get('中国')) #汉语
    print(dic.get('日本')) #None  当key不存在返回None
    print(dic.get('日本', '没有这个')) #当key不存在,返回第二个参数,第二个参数默认为None
    
    ##3.dic.setdefault(key, value)
    ## 第一个功能是添加(当key不存在).
    ## 第二个功能是查询(根据给的key查询)
    ##执行流程:判断给的key是否存在,如果存在,就不执行新增流程,直接查询出这个key对应的value.
    ##         如果key不出那种,先执行新增操作,再使用key吧对应的value查询出来.
    ret = dic.setdefault('日本', '日语')
    print(ret) #日语
    ret1 = dic.setdefault('美国', '汉语')
    print(ret1) #英语

     

    字典遍历:

    1.直接使用for遍历

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    for key in dic:#直接循环字典拿到的是key,有key直接拿value
        print(key)  #取出来key
        print(dic[key])#根据key拿对应的value
    '''
    中国
    汉语
    美国
    英语
    韩国
    韩语
    '''

    2.使用items()直接拿到key,value

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    for k, v in dic.items():
        print(k, v)
    
    '''
    中国 汉语
    美国 英语
    韩国 韩语
    '''

     

    字典的其他操作

    1.keys()获取到所有的键

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    for k in dic.keys():
        print(k)
    
    '''
    中国
    美国
    韩国
    '''

     

    2.value()获取到所有的值

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    for v in dic.values():
        print(v)
    
    '''
    汉语
    英语
    韩语
    '''

     

    3.items()获取到所有键值对

    dic = {'中国': '汉语', '美国': '英语', '韩国': '韩语'}
    for  k, v in dic.items():
        print(k, v)
    
    '''
    中国 汉语
    美国 英语
    韩国 韩语
    '''

     

  • 相关阅读:
    AGC 018E.Sightseeing Plan(组合 DP)
    BZOJ.4767.两双手(组合 容斥 DP)
    AGC 001E.BBQ Hard(组合 DP)
    洛谷.3960.列队(线段树/树状数组)
    Codeforces Round #514 (Div. 2)
    10.4 正睿国庆集训测试 青岛
    Codeforces.264E.Roadside Trees(线段树 DP LIS)
    BZOJ.4653.[NOI2016]区间(线段树)
    Ansible安装部署以及常用模块详解
    Linux系统诊断必备技能之二:tcpdump抓包工具详解
  • 原文地址:https://www.cnblogs.com/q455674496/p/10043829.html
Copyright © 2020-2023  润新知