字典的操作

字典(dict)是Python中常用的一种数据结构,由“键-值”对组成,每个“键-值”对称为一个元素,每个元素表示一种映射或对应关系。以下是字典的所有操作和方法:

一、字典的创建

  1. 直接赋值创建字典

    字典的元素放在大括号“{}”中,元素之间用逗号“,”分隔,“键”与“值”之间用冒号“:”分隔。例如:

     

    python复制代码

    stu = {'name': '张三', 'num': '20012101', 'sex': 'female'}
  2. 使用内置函数dict()创建字典

    • 通过其他字典创建:

       

      python复制代码

      stu1 = {'num': '20190101', 'name': '张三', 'sex': 'male'}
      stu2 = dict(stu1)
    • 通过“(键, 值)”对的序列创建:

       

      python复制代码

      stu3 = dict([('num', '20190101'), ('name', '张三'), ('sex', 'male')])
    • 通过关键字参数创建:

       

      python复制代码

      stu4 = dict(num='20190101', name='张三', sex='male')
    • 通过dict和zip结合创建:

       

      python复制代码

      stu5 = dict(zip(['num', 'name', 'sex'], ['20190101', '张三', 'male']))
  3. 使用fromkeys()方法创建字典

    当所有键对应同一个值时,可使用fromkeys()方法创建字典。语法格式为:dict.fromkeys(seq[, value])。其中,seq为字典“键”值列表;value为设置键序列(seq)的值,省略时默认为None。例如:

     

    python复制代码

    stu_age = dict.fromkeys(['zhangsan', 'lisi', 'wangwu'], 18) # “键”值默认为18
    stu_age_none = dict.fromkeys(['zhangsan', 'lisi', 'wangwu']) # “键”值默认为None

二、字典的访问

  1. 根据键访问值

    将提供的“键”作为下标可以访问对应的“值”,如果字典中不存在这个“键”则会抛出异常。例如:

     

    python复制代码

    stu = {'name': 'zhangsan', 'num': '20190101', 'sex': 'male'}
    print(stu['name']) # 输出: zhangsan
  2. 使用get()方法访问值

    若不确定字典中是否有某个键,可通过get()方法进行获取。若该键存在,则返回其对应的值;若不存在,则返回默认值(默认为None,也可自行设置)。例如:

     

    python复制代码

    print(stu.get('name')) # 输出: zhangsan
    print(stu.get('age')) # 输出: None
    print(stu.get('age', 18)) # 设置返回默认值为18,输出: 18

三、修改和添加元素

使用赋值语句可以添加或更新字典中的键值对。如果键已经存在,则会更新对应的值;如果键不存在,则会添加新的键值对。例如:

 

python复制代码

my_dict = {'name': 'Alice', 'age': 25}
my_dict['city'] = 'New York' # 添加键值对
my_dict['age'] = 26 # 更新值

四、删除元素

  1. 使用del命令

    可根据“键”删除字典中的元素。例如:

     

    python复制代码

    s = {'a': 'I', 'b': 'love', 'c': 'python'}
    del s['a'] # 删除a及其值
  2. 使用clear()方法

    用于清除字典中的所有元素。例如:

     

    python复制代码

    s = {0: 'I', 1: 'love', 2: 'python'}
    s.clear() # 清空字典
  3. 使用pop()方法

    用于获取指定“键”的值,并将这个“键-值”对从字典中移除。如果字典中没有要被删除的键,可以指定一个默认值返回。例如:

     

    python复制代码

    s = {'name': 'zhangsan', 'age': '17'}
    print(s.pop('age')) # 返回并删除'age'键-值对,输出: 17
    print(s.pop('age', 18)) # 无指定键,返回默认值18,输出: 18
  4. 使用popitem()方法

    用于随机获取一个“键-值”对,并将其删除。返回值为一个随机的“键-值”对(Python 3.7+ 版本中,popitem() 弹出的是最后插入的键值对)。例如:

     

    python复制代码

    s = {0: 'apple', 1: 'banana', 2: 'pear'}
    print(s.popitem()) # 随机返回某“键-值”对并删除,输出类似: (2, 'pear')

五、检查键是否存在

使用in关键字可以检查一个键是否存在于字典中。例如:

 

python复制代码

my_dict = {'name': 'Alice', 'age': 25}
if 'name' in my_dict:
print("Name exists in the dictionary")

六、获取所有键、所有值和键值对

  1. 使用keys()方法

    获取字典中的所有键的视图。例如:

     

    python复制代码

    all_keys = my_dict.keys()
  2. 使用values()方法

    获取字典中的所有值的视图。例如:

     

    python复制代码

    all_values = my_dict.values()
  3. 使用items()方法

    获取字典中的所有键值对的视图。例如:

     

    python复制代码

    all_items = my_dict.items()

七、字典的其他操作和方法

  1. 映射类型操作符

    • 键查找操作符([]):用于通过键访问字典中的值或给字典赋值。
    • 成员关系操作符(in, not in):用于检查某个键是否存在于字典中。
  2. 映射类型的内建函数

    • type():返回字典的类型。
    • str():返回字典的字符串表示形式。
    • sorted():可对键、值、键值对进行排序。
    • len():返回字典中键值对的数目。
    • hash():判断某个对象是否可以做一个字典的键(通常不直接用于字典,但可用于判断对象的可哈希性)。
  3. 字典的类型转换

    • dict():用于创建字典。
    • fromkeys():已在上文“字典的创建”部分介绍。

综上所述,字典提供了丰富的操作和方法,以满足不同的编程需求。通过熟练掌握这些操作和方法,可以更加高效地管理和操作键值对数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值