zoukankan      html  css  js  c++  java
  • Python

    字典详解

    https://www.cnblogs.com/poloyy/p/15083781.html

    get(key)

    作用

    指定键,获取对应值

    两种传参

    • dict.get(key):键存在则返回对应值,不存在则返回 None
    • dict.get(key, default):键存在则返回对应值,不存在则返回设置好的 default 值

    栗子

    # get
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    print(book.get("title"))
    print(book.get("books"))
    print(book.get("books", "默认值"))
    
    
    # 输出结果
    Python 入门基础
    None
    默认值

    clear()

    作用

    清空字典所有键值对

    栗子

    # clear
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    print(book)
    book.clear()
    print(book)
    
    
    # 输出结果
    {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社'}
    {}

    pop(key)

    作用

    • 指定键,移除对应的键值对,并返回值
    • 键不存在,会报错

    栗子

    # pop
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    print(book.pop("title"))
    print(book)
    
    
    # 输出结果
    Python 入门基础
    {'author': '张三', 'press': '机械工业出版社'}

    update()

    作用

    更新字典键值对

    栗子一:传入的是字典

    # update 栗子一
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    book1 = {
        "title": "Python 从入门到放弃"
    }
    
    # 若传入字典的键是已存在的,则更新原有的值
    book.update(book1)
    print(book)
    
    book2 = {
        "money": 119
    }
    # 若传入字典的键是不存在的,则添加新的键值对
    book.update(book2)
    print(book)
    
    
    # 输出结果
    {'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社'}
    {'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'money': 119}

    栗子二:传入的是 iterable

    d = {'x': 2}
    d.update([(
    'y', 2), ('z', 3)]) print(d) # 输出结果 {'x': 2, 'y': 2, 'z': 3}

    栗子三:传入的是关键字参数

    d = {'x': 2}
    
    d.update(y=3, z=0)
    print(d)
    
    
    # 输出结果
    {'x': 2, 'y': 3, 'z': 0}

    copy()

    作用

    将字典浅拷贝到另一个字典

    栗子

    # copy
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社',
        'page': [1, 2, 3]
    }
    # 浅拷贝到新变量
    book1 = book.copy()
    print(book1)
    
    # 修改原来的字典对象
    book['title'] = "入门到放弃"  # 改字符串-不可变对象
    book['page'][0] = 11  # 改数组-可变对象
    
    print(book, book1)
    
    
    # 输出结果
    {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社', 'page': [1, 2, 3]}
    {'title': '入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'page': [11, 2, 3]} {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社', 'page': [11, 2, 3]}

    浅拷贝、深拷贝的区别

    https://www.cnblogs.com/poloyy/p/15084277.html

    items()

    作用

    • 返回字典中所有键值对 item
    • 键值对 item 是一个元组,第 0 个元素是键,第 1 个元素是值

    栗子

    # items
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    # 一个变量则是元组
    for item in book.items():
        print(item)
    
    # 两个变量则取元组第 0、1 位置的值
    for key, value in book.items():
        print(key, value)
    
    
    # 输出结果
    ('title', 'Python 入门基础')
    ('author', '张三')
    ('press', '机械工业出版社')
    
    title Python 入门基础
    author 张三
    press 机械工业出版社

    keys()

    作用

    返回字典中所有的键

    栗子

    # keys
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    for key in book.keys():
        print(key)
    
    
    # 输出结果
    title
    author
    press

    values()

    作用

    返回字典中所有的值

    栗子

    # values
    book = {
        'title': 'Python 入门基础',
        'author': '张三',
        'press': '机械工业出版社'
    }
    
    for value in book.values():
        print(value)
    
    
    # 输出结果
    Python 入门基础
    张三
    机械工业出版社
  • 相关阅读:
    在MaxCompute中配置Policy策略遇到结果不一致的问题
    通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析
    阿里小二的日常工作要被TA们“接管”了!
    2018年DDoS攻击全态势:战胜第一波攻击成“抗D” 关键
    基于OSS+DataLakeAnalytics+QuickBI的Serverless的查询分析和可视化BI
    威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
    Lesson 7 Nehe
    Lesson 7 Nehe
    Lesson 7 Nehe
    Lesson 6 Nehe
  • 原文地址:https://www.cnblogs.com/poloyy/p/15084264.html
Copyright © 2011-2022 走看看