08.字典

什么是字典?

字典( dict )是一个复合数据类型,用于将其他值组合在一起。

dict(字典)类型是mapping(映像类型)的一个子类也是唯一一个子类,字典(dict)类型是一个可变数据类型,它的每一个元素都是一个键/值对(key,value)

创建字典

使用一对大括号创建一个字典

data = {
    "name":"angle",
    "number":1,
    123:123,
}

访问字典元素

  • 通过键值(key)访问元素

  • 当键(key)在字典中不存在的时候,会抛出一个KeyError错误

data = {
    "name":"angle",
    "number":1,
    123:123,
}

print(data['name'])

print(data['person'])


运行结果
-----------
angle

Traceback (most recent call last):
  File "E:/JetBrains/Code_practice_project/test/1.py", line 8, in <module>
    print(data['person'])
KeyError: 'person'
  • get(key[,default] )

    • 如果key在字典中,则返回key的值,否则返回default。 如果未给出default,则默认为None,因此此方法永远不会引发KeyError

  • setdefault(key[,default] )

    • 如果key在字典中,则返回其值。如果没有,插入钥匙 ,值为默认和返回默认值。 默认为 None。

修改字典

  • 直接修改

  • 如果键值对不存在,会添加这个键值对的

  • update([other_dict])

    • 更新与来自键/值对字典等,覆盖现有的密钥。返回None

删除字典

  • 使用del语句删除字典

  • pop(key[, default])

    • 如果key在字典中,则将其删除并返回其值,否则返回default。 如果未给出default并且key不在字典中,则引发KeyError。

  • clear()

    • 清除所有键值对

  • popitem()

    • 删除字典的最后一个键值对

返回所有键值对

  • items()

    • 返回字典的所有键值对

返回所有键

  • keys()

    • 返回所有键

返回所有值

  • values()

    • 返回所有值

检查字典中是否存在键或值

可以使用in和not in操作符判断某个键或者值存在于字典中

直接赋值和 copy 的区别

  • copy()

    • 返回字典的浅表副本。

可以通过以下实例说明:

实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。

最后更新于

这有帮助吗?