zoukankan      html  css  js  c++  java
  • python学习之字典

    #coding:utf-8
    __author__ = 'Administrator'
    from copy import deepcopy
    #字典由多个键及其对应的值构建的对组成,键是唯一的,值并不唯一
    phonebook={'lyq':6589,'ming':9878,'tong':4586}
    #1.dict函数,可以用来通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典
    item=[('nn','bb'),('age',89)]
    d=dict(item)
    print d
    dd=dict(name='gaoli',age=42)
    print dd

    #字典的基本操作
    #1.len(d)返回d中像(键-值)对的数量
    print len(dd)
    #3.d[k]返回关联到k上的值
    print dd['name']
    #4.d[k]=v将值v关联到键k上
    dd['name']='meimei'
    print dd
    #5.del d[k] 删除键为k的项
    del dd['name']
    print dd
    #6. k in d 检查d中是否有含有键为K的项
    if 'age' in d:
    print d['age']

    #字典格式化
    print "lyq's phone number is %(lyq)s."%phonebook

    #字典方法
    #1.clear 方法清除字典中的所有的项,原地操作无返回值
    d={}
    d={'mali':78}
    d.clear()
    print d
    #2.copy :返回一个具有相同键值对的新字典(这个方法实现的是浅复制,因为值本身就是相同的,而不是副本)
    #副本替换值原字典不变,删除和增加原字典改变
    d={'mali':78,'shasha':['foo','bar','que']}
    dy=d.copy()
    dy['mali']=45
    dy['shasha'].remove('bar')
    dy['shasha'].append('kkk')
    print 'dy',dy
    print 'd',d
    #3.deepcopy 深复制,复制其包含的所有值
    d={'mali':78,'shasha':['foo','bar','que']}
    dy=deepcopy(d)
    dy['mali']=45
    dy['shasha'].remove('bar')
    print 'dy',dy
    print 'd',d
    #4.fromkeys 用来给定的键建立新的字典,每个键默认对应的值为None,也可以给指定的值
    li=['mali','lyq']
    mm=dict.fromkeys(li)
    print mm
    mm=dict.fromkeys(li,'jj')
    print mm
    #5.get方法是个更宽松的访问字典项的方法,访问不存在的项会会得到None值(或自己设置的值)
    d={'mali':78,'shasha':['foo','bar','que']}
    print d['mali']
    # print d['kk'] 报错
    print d.get('kk')
    print d.get('kk','jj')
    #6.has_key方法可以检查字典中是否含有给出的键,有返回True,python 3.0没有该函数
    print 'has_key',d.has_key('mali')
    #7.items方法将所有的字典项以列表的方式返回,这些列表项中的每一项都来自于(键,值)
    d={'mali':78,'shasha':85}
    print d.items()
    #iteritems 方法的作用大致相同,但是会返回一个迭代器对象而不是列表
    it=d.iteritems()
    print it
    print list(it)
    #8.keys 方法将字典中的键以列表的形式返回,而iterkeys则返回针对键的迭代器
    print d.keys()
    i=d.iterkeys()
    print i
    print list(i)
    #9.pop 方法用来获得对应于给定键的值,然后将这个键-值对从字典中移除
    d={'mali':78,'shasha':85}
    d.pop('mali')
    print d
    #popitem 方法类似于list.pop,后者会弹出列表的最后一个元素,但不同的是,popitem弹出的是随机的项,因为自费的那没有“最后的元素”或其他有关书序的概念
    d={'mali':78,'shasha':85}
    d.popitem()
    print d
    #10.setdefault 方法在某种程度上类似于get方法,就是能够获得与给定键相关联的值,除此外,setdefault还能再字典中不含有给定键的情况下设定相应的键值
    d={}
    d.setdefault("name",'n/a')
    print d
    d['name']='ali'
    d.setdefault('name','n/a')
    print d
    #当键不存在时,setdefault返回默认值并且相应的更新字典,如果键存在就返回与其对应的值,但不改变字典
    #11.update 方法可以利用一个字典项更新 另外一个字典
    d={'title':'python web site','url':'www.python.com','changed':'mar'}
    x={'title':'python language web site'}
    d.update(x)
    print d
    # values和itervalues 方法以列表的形式返回字典中的值(itervalues返回的是迭代器),与返回键的列表不痛的是,返回值的列表中可以包含重复元素
    d={}
    d[1]=1
    d[2]=3
    d[3]=2
    d[4]=1
    print d.values()

  • 相关阅读:
    Zookeeper的功能以及工作原理
    高性能Server---Reactor模型
    python——PEP8 Python 编码规范整理
    python——数据结构之单链表的实现
    Git——使用gitignore建立项目过滤规则
    算法与数据结构——最大子序列和问题
    Django——Django,uwsgi Nginx组合建站
    使用Nginx+uWSGI+Django方法部署Django程序(下)
    使用Nginx+uWSGI+Django方法部署Django程序(上)
    Python——实现代理服务功能
  • 原文地址:https://www.cnblogs.com/qingo/p/5899032.html
Copyright © 2011-2022 走看看