zoukankan      html  css  js  c++  java
  • python3基本数据类型03——字典

    一、字典

      字典:每个元素都是一个键值对   

    >>> user = {'name':'tdh','age':80,'sex':'nan'}
    >>> user['name']
    'tdh'

    >>> user['age']
    80

        如上:字典的键:name、age、sex,字典的值:‘tdh’、80、‘nan’,每个键都对应一个值。字典的键就相当于之前字符串的索引,只不过字典的索引只能靠自己设置,而字符串的索引是自动生成的

      查看字典的键:使用keys函数

    >>> user = {'name':'tdh','age':80,'sex':'nan'}
    >>> user.keys()
    dict_keys(['name', 'age', 'sex'])
    

      查看字典的值:使values函数

    >>> user = {'name':'tdh','age':80,'sex':'nan'}
    >> user.values()
    dict_values(['tdh', 80, 'nan'])
    

      查看字典的键值对:使用items函数

    >>> user = {'name':'tdh','age':80,'sex':'nan'}
    >>> user.items()
    dict_items([('name', 'tdh'), ('age', 80), ('sex', 'nan')])
    

      清空字典:clear函数

    >>> user1
    {'name': 'tdh', 'age': 80, 'sex': 'nan'}
    >>> user1.clear()
    >>> user1
    {}

      查看字典的key中是否存在‘a’:

        t = 'a'  in  dict.keys()

        若 t 为True表示字典的键里有‘a’

      get(self, k, d=None):根据key来获取值

        输入:k表示键,d为字典没有k参数时输出的值

        功能:获取键对应的值              注:与直接使用键索引相比,直接使用键索引时没有找到键时会报错,如下图红色部分

        输出:参数k在字典里,则输出k对应的值,否则输出d参数

    >>> user
    {'name': 'tdh', 'age': 80, 'sex': 'nan'}
    >>> user.get('name',1)
    'tdh'
    >>> user.get('name1',1)
    1
    >>> user['name1']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'name1'
    

      pop(self, k, d=None):根据键删除键以及键对应的值

        输入:k要删除的键,d表示没有找到k参数时输出的值

        功能:删除k键及其对应的值

        输出:若找到k,则输出k对应的值,否则输出d或报错

    >>> user
    {'name': 'tdh', 'age': 80, 'sex': 'nan'}
    >>> user.pop('name',0)                    #删除‘name’键值对
    'tdh'
    >>> user
    {'age': 80, 'sex': 'nan'}
    >>> user.pop('11',0)                      #字典没有‘11’键,输出d参数
    0
    >>> user.pop('11')              #字典没有‘11’键且没有设置参数d,报错
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: '11'

      popitem(self):直接删除最后一个键值对

        输入:无

        功能:删除最后一个键值对

        输出;输出最后一个键值对

    >>> user1
    {'name': 'tdh', 'age': 80, 'sex': 'nan'}
    >>> user1.popitem()
    ('sex', 'nan')
    >>> user1
    {'name': 'tdh', 'age': 80}
    

      update(self, E=None, **F):批量更新                                  

        输入:字典(只能有一个参数,不能直接填键值对)

        功能:在末尾添加字典

        输出:无    def update(self, E=None, **F): # known special case of dict.update

            """
            D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
            If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
            If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
            In either case, this is followed by: for k in F:  D[k] = F[k]
            """
            pass

    >>> D = {1:1,2:2,3:3}
    >>> E= {1:2,4:4}
    >>> D.update(E)

    >>> D
    {1: 2, 2: 2, 3: 3,4:4}

      

  • 相关阅读:
    一点一点学习GIt
    17-ajax向后端提交POST请求
    16-djongo中间件学习
    ES6快速入门
    15 Django组件——中间件
    导入Scrapy 项目报错:no module named scrapy
    slf4j + logback 输出日志:mybatis sql语句
    java实现链表
    Log4j2.xml的日志设置
    java多线程之生产者消费者经典问题
  • 原文地址:https://www.cnblogs.com/tandonghao/p/9111076.html
Copyright © 2011-2022 走看看