首页 > 代码库 > Python基础篇(四)

Python基础篇(四)

     Python中的字典类似于Java中的Map,数据以键值对的形式存储。

     字典可以用以下的方式使用:   

     >>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> phonebook.get("alice")
     ‘6100‘

     获取字典中某个键的值,可以使用phonebook.get("alice"),也可以使用phonebook["alice"]。

     字典使用大括号将数据置于其中,列表使用的是方括号,元组使用的是圆括号。字典的多个键值对之间用逗号隔开,键值对之间用逗号隔开。

     

     就像list函数可以将序列转换为列表,dict函数将序列转换为字典。  tuple转换的是元组,str转换的是字符串。  

     >>> items = [(‘name‘,‘Grubby‘),(‘age‘,‘28‘)]
     >>> d = dict(items)
     >>> d
     {‘name‘: ‘Grubby‘, ‘age‘: ‘28‘}

 

     下面是一个使用字典的小例子:    

     people = {
          "Alice" :{
               "phone" : "8300",
               "age" : "20"
          },
          "Bruce" :{
               "phone" : "7100",
               "age" : "21"
          }
     }

     lables = {
          "phone" : "phone number is ",
          "age " : "age is"
     }

     name = input("name: ")
     request = input("request :")

     if request == "p" : key = "phone"
     if request == "a" : key = "age"

     if name in people : print("%s‘s %s %s" % \
          (name, lables[key], people[name][key]))

 

     元组作为字典的键时也是很有用的,例如:     

     >>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> print("alice phone number is %(alice)s" % phonebook)
     alice phone number is 6100

     上述的替换方式在模板系统中非常有用。

 

     clear方法

     字典的clear方法用于清除字典中所有的键值对:    

     >>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> phonebook.clear()
     >>> phonebook
     {}

 

     copy方法

     2.x版本的Python中的复制和Java类似,分为浅复制和深复制。当希望返回的是对象的副本而不仅仅是地址时,要考虑使用深复制。

     3.x版本中的copy方法已经是深复制了,而且没有了deepcopy方法

 

    keys方法  

    >>> {}.fromkeys(["name","age"])
    {‘age‘: None, ‘name‘: None}
    >>> database = {"name":"john","job":"programmer,teacher"}
    >>> database.keys()
    dict_keys([‘job‘, ‘name‘])

 

     items方法

     items方法将字典以键值对列表的形式返回:     

     >>> database = {"name":"john","job":"programmer,teacher"}
     >>> it = database.items()
     >>> list(it)
     [(‘job‘, ‘programmer,teacher‘), (‘name‘, ‘john‘)]

 

     pop方法

     pop方法用于返回一个键的值,并将该键值对删除:     

     >>> database = {"name":"john","job":"programmer,teacher"}
     >>> database.pop("name")
     ‘john‘
     >>> database
     {‘job‘: ‘programmer,teacher‘}

     popitem方法返回的是任意一个键的值,并将该键值对删除:
     >>> database = {"name":"john","job":"programmer,teacher"}
     >>> database.popitem()
     (‘job‘, ‘programmer,teacher‘)
     >>> database
     {‘name‘: ‘john‘}

 

     update方法

     update方法用于一个字典的项更新另一个字典,没有相同的则添加,有相同的则更新:

     >>> database = {"name":"john","job":"programmer,teacher"}
     >>> newdata = http://www.mamicode.com/{"job":"actor"}
     >>> database.update(newdata)
     >>> database
     {‘job‘: ‘actor‘, ‘name‘: ‘john‘}

     也可以直接赋值:database["job"] = "actor"

 

     关于print函数更多的用法:

     1.使用逗号输出

     print函数输出的是字符串,会将用逗号隔开的部分汇聚成一个大的字符串    

     >>> print("age:",42)
     age: 42

Python基础篇(四)