zoukankan      html  css  js  c++  java
  • 《Python学习之路 -- 字典的方法》

       字典跟前面说到的列表和元组都不同,字典储存的数据是无序的,并且使用了键值对的方式存储,一个字典可以存储多个键值对(key-value),而且其中的key必须是不可变类型,而value可以是任意的数据类型,在前面已经介绍过字典的基本操作了,下面来介绍字典的内置方法:

    dict.clear( )

     该方法用于清空字典的所有键值对,返回一个空的字典,该方法会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    print(my_dict)  # 输出:{'age': 18, 'name': 'jonas', 'gender': 'male'}    注意:无序,不一定按顺序输出
    my_dict.clear()
    print(my_dict)  # 输出: {}

    dict.copy( )

    该方法用于拷贝字典(浅拷贝),该方法会返回一个副本字典,不会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    copy_dict = my_dict.copy()
    print(copy_dict,id(copy_dict) == id(my_dict))  # 输出:{'gender': 'male', 'age': 18, 'name': 'jonas'}   False

    dict.get(k,d=None)

    该方法用于读取字典中的属性,如果字典中存在k这个属性,则返回对应的value,如果不存在,则给该属性指定默认值d,并返回该默认值,该方法不会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    result = my_dict.get('name')
    my_dict.get('address','China')
    print(result,my_dict)  # 输出:jonas   {'name': 'jonas', 'age': 18, 'gender': 'male'}

    dict.items( )

    该方法会将所有键值对存入一个可以转为可迭代对象的容器中,并返回该容器。

    dict.keys( )

    该方法会将所有键存入一个可以转为可迭代对象的容器中,并返回该容器。

    dict.values( )

    该方法会将所有值存入一个可以转为可迭代对象的容器中,并返回该容器。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    for item in my_dict.items():
        print(item)
    # 输出:('name', 'jonas')  ('age', 18)  ('gender', 'male')
    for key in my_dict.keys():
        print(key)
    # 输出:name  age  gender
    for value in my_dict.values():
        print(value)
    # 输出:jonas   18  male

    dict.pop(k,d=None)

    该方法用于删除字典中的k键值对,如果存在,则直接删除,并返回对应的value,如果不存在,则返回第二个参数d

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    result = my_dict.pop('name')
    print(my_dict,result)  # 输出:{'age': 18, 'gender': 'male'}  jonas

    dict.popitem( )

    随机删除字典中的一对键值对,并将被删除的键值对封装成一个元组返回,该方法会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    result = my_dict.popitem()
    print(result)  # 输出:('age', 18)

    dict.setdefault(k,d=None)

    该方法用于给字典的属性k设置默认值,如果该属性已经存在,则不设置默认值d,并且返回该key对应的value;如果属性不存在,则设置默认值,结果返回这个默认值,该方法会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    result = my_dict.setdefault('name','Tom')
    print(result)  # 输出:jonas
    result2 = my_dict.setdefault('address','China')
    print(result2,my_dict)  # 输出:China  {'address': 'China', 'gender': 'male', 'age': 18, 'name': 'jonas'}

    dict.update(E=None,**F)

    该方法用于更新字典的键值对,该方法会改变原字典。

    my_dict = {'name':'jonas','age':18,'gender':'male'}
    # 可以传一个字典作为参数,如果某些键已经存在,则覆盖,如果不存在则新建
    result = my_dict.update({'address':'China','name':'Jerry'})
    print(my_dict)  # 输出:{'age': 18, 'gender': 'male', 'address': 'China', 'name': 'Jerry'}
    # 还可以传多个键值对
    result2 = my_dict.update(hobby='football',weight=120)
    print(my_dict)  # 输出:{'hobby': 'football', 'gender': 'male', 'name': 'Jerry', 'weight': 120, 'address': 'China', 'age': 18}
  • 相关阅读:
    linux线程
    linux线程
    c++之堆、栈、数据段、
    fork()、僵死进程和孤儿进程
    linux之管理mysql
    linux之管理apache
    Django 时间与时区设置问题
    Django rest framework:__str__ returned non-string (type NoneType) 真正原因
    Django获取当前页面的URL——小记
    Django中出现:TemplateDoesNotExist at
  • 原文地址:https://www.cnblogs.com/jonas-von/p/8931537.html
Copyright © 2011-2022 走看看