Python学习记录 字典元素的访问

2022.07.13 DAY13

1. 字典元素的访问

1. 通过[键]获得"值"。
  • 若键不存在,则抛出异常。

      # 通过[键]获得“值”
      def test():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          print(myDictionary)
    
          print(myDictionary['name'])
          print(myDictionary['age'])
          print(myDictionary['job'])
    
    
      # Main
      if __name__ == '__main__':
          test()
    
2. 通过get()获得"值"。
  • 若键不存在,则返回None。

  • 也可以设定键不存在时默认返回的对象。推荐使用get()获取"值"对象。

      # 通过get()获得“值”
      def test2():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          print(myDictionary)
    
          print(myDictionary.get('name'))
          print(myDictionary.get('gae'))
          print(myDictionary.get('job'))
    
    
      # Main
      if __name__ == '__main__':
          test2()
    
3. 列出所有的键值对。
    # 列出所有的键值对
    def test3():
        myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
        print(myDictionary)

        print(myDictionary.items())


    # Main
    if __name__ == '__main__':
        test3()
4. 列出所有的键 列出所有的值。
    # 列出所有的键 列出所有的值
    def test4():
        myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
        print(myDictionary)

        print(myDictionary.keys())
        print(myDictionary.values())


    # Main
    if __name__ == '__main__':
        test4()
5. len()键值对的个数。
    print(len(myDictionary))
6. 检测一个"键"是否在字典中。
    print('name' in myDictionary)

2. 字典的添加、修改、删除

1. 给字典新增"键值对"。
  • 如果"键"已存在,则覆盖旧的 键值对。

  • 如果"键"不存在,则新增 键值对。

      # 添加 键值对
      def test5():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          print(myDictionary)
    
          myDictionary['love'] = 'STM32'
          myDictionary['job'] = 'Embedded'
    
          print(myDictionary)
    
    
      # Main
      if __name__ == '__main__':
          test5()
    
2. 使用update()将新字典中的所有键值全部添加到旧字典对象上。
  • 如果key有重复,则直接覆盖。

      # 使用update()
      def test6():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          herDictionary = {'name': 'XX', 'age': 20, 'job': 'Engineer'}
          print(myDictionary)
    
          myDictionary.update(herDictionary)
    
          print(myDictionary)
    
    
      # Main
      if __name__ == '__main__':
          test6()
    
3. 删除 使用del() & clear() & pop()
  • del() 删除指定键值对。
  • clear() 删除所有的键值对。
  • pop() 删除指定键值对,同时返回对应的"值对象"。
4. popitem()
  • 随机删除和返回该键值对。字典是"无序可变序列",依次没有第一个元素、最后一个元素的概念。popitem弹出随机的项,因此字典并没有"最后的元素"或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取价值的列表)。

      # 使用popitem()
      def test7():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          print(myDictionary)
    
          myDictionary.popitem()
          print(myDictionary)
          myDictionary.popitem()
          print(myDictionary)
    
    
      # Main
      if __name__ == '__main__':
          test7()
    

3. 序列解包

  • 序列解包可以用于元组、列表、字典。

  • 序列解包可以让我们方便地对多个变量赋值。

      # 序列解包
      def test8():
          x, y, z = 10, 20, 30
          print(x)
    
          (a, b, c) = (40, 50, 60)
          print(b)
    
          [e, f, g] = [70, 80, 90]
          print(g)
    
    
      # Main
      if __name__ == '__main__':
          test8()
    
  • 字典解包

      # 序列解包 字典
      def test9():
          myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
          print(myDictionary)
    
          # 默认对 键 进行操作
          name, age, job = myDictionary
          print(name)
    
          # 对 键值 对进行操作
          name2, age2, job2 = myDictionary.items()
          print(name2)
    
          # 对 值 对进行操作
          name3, age3, job3 = myDictionary.values()
          print(name3)
    
    
      # Main
      if __name__ == '__main__':
          test9()
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值