python字典

dict

字典是无序的键值对集合,字典的每个键值对用冒号分隔,每个键值对之间用逗号分隔。

字典的每个键必须是唯一的,值可以是任意类型。

字典的操作与列表、元组类似,但字典是无序的。

字典的键与列表的“下标”类似,但是字典的键需要自己写,列表“下标”会自动生成

字典的键必须是不可变的,所以可以用数字、字符串或元组作为键,不能永列表。

字典的键不能重复,如果重复,后面的值会覆盖前面的值。

字典的键不能修改,但可以重新赋值。

字典的创建

创建字典的字面值

x = {}    #空字典
x1 = {'name': 'Alice', 'age': 20, 'city': 'Beijing'}    #创建字典
print(x1['name'])    # Alice

字典的创建函数 dict()

d = dict()    #空字典
d1 = dict(name='Alice', age=20, city='Beijing')    #创建字典
d = {[1, 2, 3]: 'a'}   会报错

操作字典

        访问

                字典[键key]

d = {1:"a",2:"b"}
print(d[1])    # 输出a
print(d[3])    # 会报错:KeyError: 3

        添加和修改

                字典[键key] = 表达式

                键不存在, 就添加

                键存在, 会改变键对应的值

d = {1:"a",2:"b"}
d[1] = "c"
print(d)    # {1: 'c', 2: 'b'}
d[3] = "123"
print(d)    # {1: 'c', 2: 'b', 3: '123'}

        in/notinin

                in判断一个键是否存在于字典中,存在返回True, 否则返回False

d = {1:"a",2:"b"}
print(1 in d)    # True
print(3 in d)    # False

        删除元素

                使用del

d = {1:"a",2:"b",3:"c"}
del d[2]
print(d)    # {1: 'a', 3: 'c'}
d.clear()    #清空字典
print(d)    # {}
del d    #删除字典, 释放内存,删除变量d

字典特性

        键不能重复

                多个键出现,最后一个会覆盖前面的。

d = {1:"a",2:"b",3:"c",1:"d",1:'123'}   #字典的键不能重复,如果重复,后面的值会覆盖前面的值。
print(d)    # {1: '123', 2: 'b', 3: 'c'}

        键必须不可变

                可以用数字、字符串或元组,列表不行。

d ={[1, 2, 3]: 'a', 'name': 'Alice', 'age': 20, 'city': 'Beijing'}
print(d)    # 会报错:TypeError: unhashable type: 'list'

常用API

官方文档:https://docs.python.org/zh-cn/3.13/library/stdtypes.html#mapping-types-dict

        函数

以下是一些常用的字典函数:

  1. dict.get(key, default=None):获取指定键的值,如果键不存在则返回默认值。

    • 示例:my_dict.get('key', 'default_value')
  2. dict.items():返回一个包含字典所有键值对的视图对象。

    • 示例:my_dict.items() 返回的是类似 dict_items([('key1', 'value1'), ('key2', 'value2')]) 的格式
  3. dict.keys():返回一个包含字典所有键的视图对象。

    • 示例:my_dict.keys() 返回的是类似 dict_keys(['key1', 'key2']) 的格式
  4. dict.values():返回一个包含字典所有值的视图对象。

    • 示例:my_dict.values() 返回的是类似 dict_values(['value1', 'value2']) 的格式
  5. dict.pop(key, default=None):删除指定键的条目并返回其值,如果键不存在则返回默认值。

    • 示例:my_dict.pop('key', 'default_value')
  6. dict.popitem():随机删除字典中的一个键值对,并返回该键值对。

    • 示例:my_dict.popitem() 返回的是类似 ('key', 'value') 的格式
  7. dict.update([other]):使用可迭代对象(通常是另一个字典)的键值对更新字典。

    • 示例:my_dict.update({'key3': 'value3'})
  8. dict.clear():清空字典,删除所有键值对。

    • 示例:my_dict.clear()
  9. dict.copy():返回字典的一个浅拷贝。

    • 示例:new_dict = my_dict.copy()
  10. dict.fromkeys(seq[, value]):创建一个新字典,seq中的元素作为字典的键,所有键的值为value。

    • 示例:my_dict.fromkeys(['key1', 'key2'], 'value') 会创建一个字典 {'key1': 'value', 'key2': 'value'}
  11. in 和 not in:检查字典中是否存在某个键。

    • 示例:'key1' in my_dict 返回 True 或 False

这些函数可以帮助你更高效地操作和管理字典中的数据。

len(dict)

        计算字典元素个数,即键的总数。

d = {1: [1, 2, 3], 2: {'name': 'Alice', 'age': 20, 'city': 'Beijing'}}
print(len(d))    # 2

list(d)

        返回字典 d 中使用的所有键的列表。

d = {1: [1, 2, 3], 2: {'name': 'Alice', 'age': 20, 'city': 'Beijing'}}
print(list(d))    # [1, 2]

list(d.values()))

        返回字典中所有值的列表

d = {1:'a',2:'b',3:'c'}
#返回字典中所有值的列表
print(list(d.values()))    # ['a', 'b', 'c']

        方法

dict.clear()删除字典内所有元素

dict.copy()返回一个字典的浅复制

dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值

key in dict如果键在字典dict里返回true,否则返回false

dict.items()以列表返回一个视图对象

dict.keys()返回一个视图对象

dict.update(dict2)把字典dict2的键/值对更新到dict里

dict.values()返回一个视图对象

pop(key,default)删除字典 key(键)所对应的值,返回被删除的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值