码迷,mamicode.com
首页 > 其他好文 > 详细

7th

时间:2015-05-01 19:51:39      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

。。安软件的时候故障重启,之前写的丢失了,不补了,续着写。

 

 

dict.iter* 方法iteritems(),iterkeys(),itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子(iterator),而不是一个列表。

这里返回的iterator不可以直接使用,我们可以通过list()也可以通过for来访问其中的元素。

dict.setdefault(key, default = None)和方法set()类似,但如果字典中不存在key键,由dict[key]=default为它赋值。

dict.update(dict2)将字典dict2的键值对添加到字典dict中

 

内建函数sorted()可以说是专门为迭代子(iterator)设置的,

keys(),items(),values()返回列表,(接下来的一段翻译出错,贴出原文)

Currently, the keys(),items(), and values()methods return lists. This
can be unwieldy if such data collections are large, and the main reason why
iteritems(), iterkeys(),  and itervalues() were  added  to  Python  in
2.2.  They  function  just  like  their  list  counterparts  only  they  return  iterators,
which by lazier evaluation, are more memory-friendly. In Python 3, each of the
iter*()methods replaces their non-iterator counterparts and the iter*()
names are no longer supported. The new keys(),values(), and items()all
returnviews—these are like a combination of a set and an iterator. You can
iterate through them one-at-a-time, but each such collection behaves like a set.

而中文意思可以说完全曲解的愿意……

我打开了python3测试,果然dict对象已经没有了iter*系列的方法。

 

 

7.5字典的键

7.5.1 不允许一个键对应多个值,多次赋值会取最后一次。

7.5.2键必须是可哈希(hashnable)的(感觉上一条多余啊,可哈希的键当然不能对应多个值,这样用哈希值才能找到对应的值啊)

值相同的数字的哈希值是一样的,比如1.0和0。

实现了__hash__()方法的可变对象也是可哈希(hashnable)的,

 

7th

标签:

原文地址:http://www.cnblogs.com/autoria/p/4470999.html

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