• Python学习笔记-字典


    <1>根据键访问值

    info = {'name': '小明', 'id': 100, 'sex': 'f', 'address': '中国北京'}
    print(info['name'])
    print(info['address'])

    运行结果

    小明
    中国北京

    在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值

    age = info.get('age')
    print(age) #'age'键不存在,所以age为None
    print(type(age))
    age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
    print(age)

    运行结果

    None
    <class 'NoneType'>
    18

    <2>修改元素

    newId = input('请输入新的学号')
    info['id'] = int(newId)
    print('修改之后的id为%d:'%info['id'])

    运行结果

    请输入新的学号123
    修改之后的id为123:

    <3>添加元素

    info = {'name':'小明', 'sex':'f', 'address':'中国北京'}
    print('id为:%d'%info['id'])

    运行结果

    Traceback (most recent call last):
      File "E:/PycharmProjects/train/tupletest.py", line 42, in <module>
        print('id为:%d'%info['id'])
    KeyError: 'id'

    如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

    info = {'name':'小明', 'sex':'f', 'address':'中国北京'}
    # print('id为:%d'%info['id'])
    newId = int(input('请输入新的学号'))
    info['id'] = newId
    print('添加之后的id为:%d'%info['id'])

    运行结果

    请输入新的学号188
    添加之后的id为:188

    <4>删除元素

    对字典进行删除操作,有一下几种:

    • del
    • clear()
    print('删除前,%s'%info['name'])
    del info['name']
    print('删除后,%s'%info['name'])

    运行结果

    删除前,小明
    Traceback (most recent call last):
      File "E:/PycharmProjects/train/tupletest.py", line 49, in <module>
        print('删除后,%s'%info['name'])
    KeyError: 'name

    删除后不可访问,所以会报错

    删除整个字典

    print('删除前,%s'%info)
    del info
    print('删除后,%s'%info)

    运行结果

    删除前,{'name': '小明', 'sex': 'f', 'address': '中国北京'}
    Traceback (most recent call last):
      File "E:/PycharmProjects/train/tupletest.py", line 53, in <module>
        print('删除后,%s'%info)
    NameError: name 'info' is not defined

    clear清空整个字典

    print('清空前,%s'%info)
    info.clear()
    print('清空后,%s'%info)

    运行结果

    清空前,{'name': '小明', 'sex': 'f', 'address': '中国北京'}
    清空后,{}

    <5>len()

    测量字典中,键值对的个数

    <6>keys

    返回一个包含字典所有KEY的列表

    <7>values

    返回一个包含字典所有value的列表

    <8>items

    返回一个包含所有(键,值)元组的列表

  • 相关阅读:
    bzoj 4566: [Haoi2016]找相同字符
    杜教筛模板
    bzoj 3772 :精神污染 线段树+打标记 or 主席树
    bzoj 3779: 重组病毒
    bzoj 3357: [Usaco2004]等差数列
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4358: permu 莫队
    线段树分裂合并
    bzoj 3065 带插入区间k小值
    子串 [NOIP2015]
  • 原文地址:https://www.cnblogs.com/Akubi/p/9354885.html
Copyright © 2020-2023  润新知