码迷,mamicode.com
首页 > 编程语言 > 详细

Python 字典dict相关知识

时间:2018-12-17 18:55:10      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:循环   删掉   info   stat   添加   war   key值   不可   参数设置   

  1. 字典是无序的,多次print输出的结果不一样。
  2. 字典的key可以是数字、字符串、元组、布尔值(True为1,False为0,不可以和其他key值重复);列表和字典不能作为key。
  3. 字典的value可以是任何类型。
  4. 字典支持del方法删除。
  5. 字典支持for循环,是可迭代对象,不支持while循环。
  6. 输出字典所有的key:
    for item in info.keys():
             print(item)
  7.  输出字典所有的值:
    for item in info.values():
           print(item)
  8.  输出字典所有的键值对:
    for k, v in info.items():
         print(k, v)
  9. info.clear( )            | 清空字典
  10. info.copy( )            |浅拷贝
  11. dict.fromkeys( *args, **kwargs )           |这是一种静态方法@staticmethod。根据序列创建字典,并给其指定统一值。 像此类静态方法调用时,用类名.方法名就可以。
    前面带两个*时,表示这里可以用name=“…”的形式穿入参数,也可以直接传入字典。
    >>> new_dict = dict.fromkeys([k1,123,999],123)
    >>> print(new_dict)
    {k1: 123, 123: 123, 999: 123}
  12. info.get( )         |get能直接根据索引号来获取该索引号对应的值,和直接用info[‘k1‘]不同的是,当输入的索引号不存在时,info[‘K1‘]会报错,但是get会输出None,并且可以设置当索引号不存在时应该输出的默认值。
    >>> info = {K1:123,k2:890}
    >>> v = info.get(k1111,222)
    >>> print (v)
    222
  13. info.pop( )         |删除值并且得到删掉的值。
    >>> info = {K1:123,k2:890}
    >>> v = info.pop(K1)
    >>> print (info, v)
    ({k2: 890}, 123)
  14. info.popitem( )      |此方法不带参数,是指随即删除字典里的一个键值对,并获取删掉的键值对的值。
    >>> info = {K1:123,k2:890}
    >>> k, v = info.popitem()
    >>> print(info, k, v)
    ({K1: 123}, k2, 890)       #随机删掉了K2键值对
  15. info.setdefault( )      |当setdefault参数中设置的键在字典中存在时,不作修改,并且获得该键在字典中对应的值,当setdefault参数的键在字典中不存在时,则把setdefault设置的键值对添加到字典中,并且获得该键对应的值。
    >>> info = {K1:123,k2:890}
    >>> v = info.setdefault(k11111,666)      #这是当参数的键在字典中不存在时,结果把参数设置的键值对添加到了字典中,并且返回了该键对应的值。
    >>> print(info, v)
    ({k2: 890, K1: 123, k11111: 666}, 666)
  16. info.update( )        |更新字典的内容,对原来存在的键覆盖其值,对原来不存在的键值对添加到字典中。
    >>> info = {k1:123,k2:890}
    >>> info.update({k1: 11111,k3:hdjkdl})    #这里参数传入的是一个字典
    >>> print(info)
    {k3: hdjkdl, k2: 890, k1: 11111}
    >>> info = {k1:123,k2:890}
    >>> info.update(k1=11111,k3=hdjkdl)           #或者也可以以这种方式传入参数和值
    >>> print(info)
    {k3: hdjkdl, k2: 890, k1: 11111}
  17. 字典默认for循环时,循环的是key值,不是value
    >>> dic = {k1:v1}
    >>> k1 in dic        #键是True
    True
    >>> dic = {k1:v1}
    >>> v1 in dic        #值是False
    False
  18. 布尔值
    转换为布尔值:bool( )
    布尔值为False的类型: None, " ", ( ), { }, 0  ,其他都为真

Python 字典dict相关知识

标签:循环   删掉   info   stat   添加   war   key值   不可   参数设置   

原文地址:https://www.cnblogs.com/eleanorye/p/10132950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!