字典

1、创建和使用字典
    1.1、dict函数:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典,
         类似于list,tuple、str等
        >>> phonebook = {'xiaoming':'1234', 'xiaohong':'3455'}
        >>> phonebook
           {'xiaoming': '1234', 'xiaohong': '3455'}




        >>> phonebook = dict([('xiaoming','1234'), ('xiaohong',3455)])//通过序列
        >>> phonebook
           {'xiaoming': '1234', 'xiaohong': 3455}


        >>> phonebook = dict(xiaoming = 1234,xiaohong = 3455)
        >>> phonebook
           {'xiaoming': 1234, 'xiaohong': 3455}
    1.2、字典基本操作
         len(d):返回d中项(键值对)的数量
         d[k]    :返回关联到键k上的值
         d[k]=v  :把值v关联到键k上
         del d[k]:删除键为k的项
         k in d  :检查d中是否有含有键为k的项
         字典的特殊之处:
         1.2.1、键类型:字典的键不一定为整型数据(但也可以是),也可能是其他不可变类型,
                        比如浮点型(实型)、字符串或者元组。
                自动添加:即使那个键起初在字典中并不存在,也可以为它分配一个值,这样字
                        典就会建立新的项,而(不在使用append方法或者其他类似的操作的情
                        况下)不能将值关联到列表范围之外的索引上。
                成员资格:表达式k in d 查找的是键,而不是值,表达式v in l(l为列表)则用来
                         查找值,而不是索引,这样看起来好像不太一致,但是习惯以后就会感觉
                         非常自然了。毕竟,如果字典含有指定的键,查找相应的值也是很容易的。
         1.2.2、举例:
                >>> x = []
                >>> x[42]='xiaohong'
                    Traceback (most recent call last):
                     File "<stdin>", line 1, in <module>
                    IndexError: list assignment index out of range
                >>> x={}
                >>> x[42]='xiaohong'
                >>> x
                   {42: 'xiaohong'}
    1.3、字典的格式化字符串
         >>> phonebook={'xiaoming':1234, 'xiaohong':3455}
         >>> "xiaohong's phone num is %(xiaohong)s" % phonebook
             "xiaohong's phone num is 3455"
    1.4、字典方法
        1.4.1、clear:清空字典,原地操作,无返回值
               >>> x={}
               >>> y=x
               >>> x['key']='value'
               >>> y
                  {'key': 'value'}
               >>> x={}
               >>> y
                  {'key': 'value'}
               >>> x.clear()
               >>> y
                  {'key': 'value'}
               >>> x=y
               >>> x
                  {'key': 'value'}
               >>> y.clear()
               >>> x 
                  {}
        1.4.2、copy:这个方法实现的是浅拷贝,还有个深拷贝:
                from copy import deepcopy
        1.4.3、fromkeys:使用给定的键建立新的字典,每个键默认对应的值为None,也可自己规定默认值
               >>> dict.fromkeys(['xiaoming','xiaohong'],'(unknown)')
                   {'xiaoming': '(unknown)', 'xiaohong': '(unknown)'}
               >>> dict.fromkeys(['xiaoming','xiaohong'])
                   {'xiaoming': None, 'xiaohong': None}
        1.4.4、get:更宽松的访问字典项的方法,一般来说,如果试图访问字典中不存在的项时会出错
               >>> d[name]
                   Traceback (most recent call last):
                    File "<stdin>", line 1, in <module>
                   NameError: name 'name' is not defined
               >>> print d.get('name')
                   None
        1.4.5、has_key:检查字典中是否含有某个键
        1.4.6、items和iteritems:items方法把所有的字典以列表方式返回,这些列表项中每一项都来自于
               (键,值)。但是项在返回时并没有特殊的顺序
               >>> d = dict(xiaoming='12345',xiaohong='2355')
               >>> d
                   {'xiaoming': '12345', 'xiaohong': '2355'}
               >>> d.items()
                   [('xiaoming', '12345'), ('xiaohong', '2355')]
               >>> it=d.iteritems()
               >>> it
                  <dictionary-itemiterator object at 0xb7cbb920>
               >>> list(it)
                   [('xiaoming', '12345'), ('xiaohong', '2355')]
        1.4.7、keys和iterkeys:keys方法将字典中的键以列表的方式返回,而iterkeys则返回针对键的迭代器。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值