Python数据类型详解(四)字典:dict

612次阅读  |  发布于5年以前

一.基本数据类型

  整数:int
  字符串:str(注:\t等于一个tab键)
  布尔值: bool
  列表:list
  列表用[]
  元祖:tuple
  元祖用()
  字典:dict

注:所有的数据类型都存在想对应的类列里,元祖和列表功能一样,列表可以修改,元祖不能修改。

二.字典所有数据类型:

常用操作:

索引、新增、删除、键、值、键值对、循环、长度


    class dict(object):
      """
      dict() -> new empty dictionary
      dict(mapping) -> new dictionary initialized from a mapping object's
        (key, value) pairs
      dict(iterable) -> new dictionary initialized as if via:
        d = {}
        for k, v in iterable:
          d[k] = v
      dict(**kwargs) -> new dictionary initialized with the name=value pairs
        in the keyword argument list. For example: dict(one=1, two=2)
      """
      def clear(self): # real signature unknown; restored from __doc__
        """ D.clear() -> None. Remove all items from D. """
        pass

      def copy(self): # real signature unknown; restored from __doc__
        """ D.copy() -> a shallow copy of D """
        pass

      @staticmethod # known case
      def fromkeys(*args, **kwargs): # real signature unknown
        """ Returns a new dict with keys from iterable and values equal to value. """
        pass

      def get(self, k, d=None): # real signature unknown; restored from __doc__
        """ D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """
        pass

      def items(self): # real signature unknown; restored from __doc__
        """ D.items() -> a set-like object providing a view on D's items """
        pass

      def keys(self): # real signature unknown; restored from __doc__
        """ D.keys() -> a set-like object providing a view on D's keys """
        pass

      def pop(self, k, d=None): # real signature unknown; restored from __doc__
        """
        D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
        If key is not found, d is returned if given, otherwise KeyError is raised
        """
        pass

      def popitem(self): # real signature unknown; restored from __doc__
        """
        D.popitem() -> (k, v), remove and return some (key, value) pair as a
        2-tuple; but raise KeyError if D is empty.
        """
        pass

      def setdefault(self, k, d=None): # real signature unknown; restored from __doc__
        """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
        pass

      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

      def values(self): # real signature unknown; restored from __doc__
        """ D.values() -> an object providing a view on D's values """
        pass

      def __contains__(self, *args, **kwargs): # real signature unknown
        """ True if D has a key k, else False. """
        pass

      def __delitem__(self, *args, **kwargs): # real signature unknown
        """ Delete self[key]. """
        pass

      def __eq__(self, *args, **kwargs): # real signature unknown
        """ Return self==value. """
        pass

      def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

      def __getitem__(self, y): # real signature unknown; restored from __doc__
        """ x.__getitem__(y) <==> x[y] """
        pass

      def __ge__(self, *args, **kwargs): # real signature unknown
        """ Return self>=value. """
        pass

      def __gt__(self, *args, **kwargs): # real signature unknown
        """ Return self>value. """
        pass

      def __init__(self, seq=None, **kwargs): # known special case of dict.__init__
        """
        dict() -> new empty dictionary
        dict(mapping) -> new dictionary initialized from a mapping object's
          (key, value) pairs
        dict(iterable) -> new dictionary initialized as if via:
          d = {}
          for k, v in iterable:
            d[k] = v
        dict(**kwargs) -> new dictionary initialized with the name=value pairs
          in the keyword argument list. For example: dict(one=1, two=2)
        # (copied from class doc)
        """
        pass

      def __iter__(self, *args, **kwargs): # real signature unknown
        """ Implement iter(self). """
        pass

      def __len__(self, *args, **kwargs): # real signature unknown
        """ Return len(self). """
        pass

      def __le__(self, *args, **kwargs): # real signature unknown
        """ Return self<=value. """
        pass

      def __lt__(self, *args, **kwargs): # real signature unknown
        """ Return self<value. """
        pass

      @staticmethod # known case of __new__
      def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object. See help(type) for accurate signature. """
        pass

      def __ne__(self, *args, **kwargs): # real signature unknown
        """ Return self!=value. """
        pass

      def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

      def __setitem__(self, *args, **kwargs): # real signature unknown
        """ Set self[key] to value. """
        pass

      def __sizeof__(self): # real signature unknown; restored from __doc__
        """ D.__sizeof__() -> size of D in memory, in bytes """
        pass

      __hash__ = None

三.所有字典数据类型举例


    user_info = {
      0 :"zhangyanlin",
      "age" :"18",
      2 :"pythoner"
    }
    #获取所有的key
    print(user_info.keys())

    #获取所有的values
    print(user_info.values())

    #获取所有的key和values
    print(user_info.items())

    clear清除所有的内容
    user_info.clear()
    print(user_info)

    #get 根据key获取值,如果key不存在,可以指定一个默认值
    val = user_info.get('age')
    print(val)

    #update批量更新
    test = {
      'a':111,
      'b':222
    }
    user_info.update(test)
    print(user_info)

四.索引


    #如果没有key,会报错
    user_info = {
      "name" :'zhangyanlin',
      "age" :18,
      "job" :'pythoner'
    }
    print(user_info['name'])

五.for循环


    #循环
    user_info = {
      0 :"zhangyanlin",
      "age" :"18",
      2 :"pythoner"
    }
    for i in user_info:
      print(i)

    #循环输出所有的键入值
    for k,v in user_info.items():
      print(k)
      print(v)

以上就是本文的全部内容了,希望对大家熟练掌握Python数据结构能够有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8