A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

dict 称作字典(dictionary)。

常见的形式

dict = {'a':1,'b':2}  单层key,value形式的字典

dict = {'mans':{'a':1,'b':2}}  嵌套字典

key-value 键值对的数据的集合

非线性结构,可迭代,可变的,无序的,key不重复,key必须是可hash的

构造方法

>>> dict = {}  

{}

>>> dict = dict.fromkeys(['a','b'])

{'a':None,'b':None}

>>> dict = dict(zip(["a","b"],["1","2"]))

{'a':'1','b':'2'}

>>> dict = dict(a="1",b="2")

{'a':'1','b':'2'}


字典元素的访问

d [key]

     返回key对应的值value

     key不存在抛出KeyError异常

get(key[,default])

     返回key对应的值value

     key不存在返回缺省值,如果没有设置缺省值就返回None

setdefault(key[,default])

     返回key对应的值value

     key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,缺省为None


字典增加和修改

d [key] = value

     将key对应的值修改为value

     key不存在添加新的kv对

update([other])返回None,

     使用另一个字典的kv对更新本字典,也可以使用一个可迭代对象

     key不存在,就添加

     key存在,覆盖已存在的key对应的值

     就地修改


字典的删除

pop(key[,default])

     key存在,移除它,并fanhui它的value

     key不存在,返回给定的default

     default未设置,key不存在则抛出KeyError异常

popitem()

     移除并返回一个任意的键值对

     字典为empty,抛出KeyError异常

clear()

     清空字典


字典遍历

     for ... in dict

遍历key

     for key in dict:

          print(key)

     for k in d . keys():

          print(k)

遍历value

     for v in d . values():

          print(v)

遍历items

     for item in d . items():

          print(item)

     for item in d . items():

          print(item[0],item[1])

     for k,v in d . items():

          print(k,v)

     for k,_ in d . items():

     print(k)

补充知识


一: dictionary 操作:

     Dictionary:定义了键和值之间一对一的关系,在 Python 中,变量可以任意取名,并且 python 在内部会记录下其数据类型。
     1.定义 Dictionary:
          >>> d = {"server":"mpilgrim", "database":"master"}

          >>> d
           {'server': 'mpilgrim', 'database': 'master'}
          >>> d["server"]                                    

           'mpilgrim'
          >>> d["database"]                                 

           'master'
    新 dictionary,它有两个元素,将其赋给变量 d 。每一个元素都是一个 key-value 对;整个元素集合用大括号括起来。
'server' 是一个 key,它所关联的值是通过 d["server"] 来引用的,为 'mpilgrim'。
'database' 是一个 key,它所关联的值是通过 d["database"] 来引用的,为 'master'。
      可以通过 key 来引用其值,但是不能通过值获取 key,
         >>> d["mpilgrim"]                                 
          Traceback (innermost last):
            
          KeyError: mpilgrim

      2.修改 Dictionary

       >>> d["database"] = "pubs"
       >>> d
        {'server': 'mpilgrim', 'database': 'pubs'}
       >>> d["uid"] = "sa"      
       >>> d
        {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}

  一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。Dictionary 没有元素顺序的概念,它们只是序偶的简单排列。dictionary 的 key 是大小写敏感的。

       >>> d = {}
       >>> d["key"] = "value"
       >>> d["key"] = "other value" (1)
       >>> d
         {'key': 'other value'}
       >>> d["Key"] = "third value" (2)
       >>> d
         {'Key': 'third value', 'key': 'other value'}
为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。这不会为一个已经存在的 dictionary key 赋值,因为在 Python 中是区分大小写的,也就是说 'key' 与 'Key' 是不同的。所以这种情况将在 dictionary 中创建一个新的 key-value 对。Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,包括字符串、整数、对象,甚至其它的 dictionary。在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。

    3.dictionary 中删除元素
    >>> d
     {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master',42: 'douglas', 'retrycount': 3}
    >>> del d[42] (1)
    >>> d
     {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
    >>> d.clear() (2)
    >>> d
     {}

del 允许您使用 key 从一个 dictionary 中删除独立的元素。
clear 从一个 dictionary 中清除所有元素。注意空的大括号集合表示一个没有元素的 dictionary。



1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马