zoukankan      html  css  js  c++  java
  • 基础【五】字典的操作方法

    py_字典的操作方法

     

    字典

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,3.6版本之后字典是有序的(3.5版本之前字典是无序的),且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,3.6版本之后字典是有序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    增:setdefault

    复制代码
    dic = {
        'name':'烟雨江南',
        'age':18,
        'sex':'man'
    }
    增
    dic['hobby'] = '看书'  # 有则修改,无则添加
    print(dic)
    dic.setdefault('hobby','玩游戏') # 有则不变,无则添加
    print(dic)
    复制代码

    删:pop、clear、popitem、del

    复制代码
    dic = {
        'name':'烟雨江南',
        'age':18,
        'sex':'man'
    }
    ret = dic.pop('name') # 按照键删除键值对,并返回删除的值
    ret = dic.pop('name1','删除的对象不存在') # 设置两个参数,第二个参数是提示语,一般设置为None;键不存在也不会报错
    print(ret)
    dic.clear() # 清空字典
    dic.popitem() #3.6版本之后删除最后一个键值对
    print(dic)
    del dic['name'] # 按照建删除
    print(dic)
    复制代码

    改:update

    复制代码
    dic = {
        'name':'烟雨江南',
        'age':18,
        'sex':'man'
    }
    dic['name'] = 'jj'
    print(dic)
    dic.update(name = 'TSL',money=10000)  #更新:有则覆盖,没有则添加
    print(dic)

    dic = {"name": "jin", "age": 18, "sex": "male"}
    dic2 = {"name": "alex", "weight": 75}
    dic2.update(dic)
    # 将dic里面的键值对覆盖添加到dic2中
    复制代码

    查:

    复制代码
    dic = {
        'name':'烟雨江南',
        'age':18,
        'sex':'man'
    }
    print(dic['age']) # 若不存在会报错
    
    dic.get('age')    # 没有此键默认返回None
    print(dic)
    ret = dic.get('age1','此键不存在') # 键不存在,可设置提示语
    print(ret)
    复制代码

    字典的其他操作:

    复制代码

    dic = {
    'name': '太白金星',
    'age': 18,
    'hobby': 'wife',
    }
    # 查看键
    res = dic.keys() # 查看字典中所有键
    print(res,type(res)) # <class 'dict_keys'> 该类型可以循环遍历
    for i in res:
    print(i)
    print(list(res)) # 也可以通过list转化为列表
    -------------------------------------------------------------
    # 查看值
    res1 = dic.values() # 查看字典中所有值
    print(res1,type(res1)) # <class 'dict_values'> 该类型可以循环遍历
    for i in res1:
    print(i)
    print(list(res1)) # 也可以通过list转化为列表
    -------------------------------------------------------------
    #查看键值对
    res2 = dic.items()
    print(res2,type(res2)) # 查看字典中所有键值对
    for i in res2:
    print(i)
    print(list(res2)) # 也可通过list转化为列表:[('name', '太白金星'), ('age', 18), ('hobby', 'wife')]
    复制代码

    小练习:

    复制代码
    dic = {
        'name_list': ['博哥', '菊哥', 'b哥', 'alex'],
        'barry': {
            'name': '太白金星',
            'age': 18,
            'hobby': 'wife',
        }
    }
    1,给这个列表['博哥', '菊哥', 'b哥', 'alex'] 追加一个元素 '老男孩'。
    2,将这个列表['博哥', '菊哥', 'b哥', 'alex']中的alex变成首字母大写。
    3,将这个键值对 'name': '太白金星' 的 '太白金星' 改成男神。
    4,给barry对应的小字典增加一个键值对: weight: 160
    
    dic.get('name_list').append('老男孩')
    dic['name_list'][3]= dic['name_list'][3].capitalize()
    dic['barry']['name'] = '男神'
    dic['barry'].setdefault('weight',160)
    dic['barry'].update(weight = 160)
    print(dic)
    复制代码

    面试题:

    复制代码
    '''
    a = 18
    b = 32
    通过一行代码 将a,b的值互换。
    
    '''
    a = 18
    b = 32
    a, b = b, a
    复制代码
  • 相关阅读:
    hdu 1269(tarjan)
    hdu 1281(二分图最大匹配+枚举)
    CodeSmith学习笔记
    记录一个JQUERY模仿序列号输入
    jQuery Tips(5)关于伪类选择符
    PowerDesigner设置Table的默认属性值(字体颜色,大小,主键颜色等)
    使用UpdatePanel时触发JS的方法
    在C#中使用owc11 画折线图 .
    邮件发送错误解决一例
    ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片
  • 原文地址:https://www.cnblogs.com/youxiu123/p/11158139.html
Copyright © 2011-2022 走看看