|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 醉酒青牛 于 2015-10-14 10:38 编辑
小牛有话说:
各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击淘贴右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了
另外,小牛十一回了趟家,结果就将更新耽搁了,这里对关注小牛帖子鱼油们说声抱歉了,后面小牛会尽力加快更新速度,争取在10月底更新到类和对象部分。
本期主要内容导读:
这一期我们归纳一下鱼神第二十六讲“字典:当索引值不好用时2”。这一期里面鱼神主要对字典类型的内置函数进行了系统讲解,主要涉及到创建一个新的字典并返回该对象的fromkeys(),访问字典函数函数keyes(),values(),items(),成员操作符in not in,清除一个字典内容的clear()和复制一个新的字典的copy(),自动去除一个字典item的pop()和popitem(),以及最后更新字典的setdefault()和update()。下面我们就来详细介绍一下各个知识点吧~~~~~~
1. 工厂函数的概念
和序列类型的工厂函数一样,dict()也是一个工厂函数,本质上是一个类,Python程序无处不对像的概念可见一斑。
2. 字典类型内置函数的用法
2.1 fromkeys(iterable, value=None, /) 创建并返回一个新的字典。其中第一个参数是一个可迭代对象(序列类型),第二个参数是value值,当第二个参数不提供时,则默认为none,举例说明:
>>> dict1 = dict()
>>> dict2 = dict1.fromkeys((1, 2, 3), 'number')
>>> dict2
{1: 'number', 2: 'number', 3: 'number'}
>>> dict1
{}
>>> dict3 = dict1.fromkeys((1, 2, 3))
>>> dict3
{1: None, 2: None, 3: None}
2.2 访问字典的内置函数,这里主要是访问字典的key的keys(),访问字典的value的values(),访问item的items()。当然也可以直接用get()通过key访问其对应的value。举例说明:
>>> dict4 = dict1.fromkeys((1,2,3),'赞')
>>> dict4
{1: '赞', 2: '赞', 3: '赞'}
>>> dict4.keys()
dict_keys([1, 2, 3])
>>> for eachkey in dict4.keys():
print(eachkey)
1
2
3
>>> for eachvalue in dict4.values():
print(eachvalue)
赞
赞
赞
>>> for eachitem in dict4.items():
print(eachitem)
(1, '赞')
(2, '赞')
(3, '赞')
get(k[,d])通过key返回对应的value值,第一个参数为key值,第二个参数为默认返回的value值,当key存在则返回对应的value,不存在字典内时返回该值,如果不提供则默认为none,举例说明
>>> dict5 = {1:'one',2:'two',3:'three'}
>>> dict5.get(3,'木有')
'three'
>>> dict5.get(4,'木有')
'木有'
>>> dict5.get(4)
>>> print(dict5.get(4))
None
2.3 清空字典和复制一个字典函数clear()和copy()。这里面主要要搞清楚copy()和=赋值的区别,copy()相当于复制出一个新的字典,两者互不影响,而赋值=仅是将字典内存地址赋值出去,两者共同指向一个地址,举例说明:
>>> dict6 = dict5
>>> dict7 = dict5.copy()
>>> id(dict6)
58796168
>>> id(dict5)
58796168
>>> id(dict7)
58795208
>>> dict5
{1: 'one', 2: 'two', 3: 'three'}
>>> dict6.clear()
>>>dict6
{}
>>> dict5
{}
>>> dict7
{1: 'one', 2: 'two', 3: 'three'}
2.4 去除字典一个元素内置函数。pop(k[,d])当k存在字典的key时,在字典内去除该key对应的(key,value),否则返回d的值,当d不提供时返回错误,举例说明:
>>> dict7
{1: 'one', 2: 'two', 3: 'three'}
>>> dict7.pop(1,'木有')
'one'
>>> dict7
{2: 'two', 3: 'three'}
>>> dict7.pop(1,'木有')
'木有'
>>> dict7.pop(1)
Traceback (most recent call last):
File "<pyshell#46>", line 1, in <module>
dict7.pop(1)
KeyError: 1
popitem()去除字典内的一个(key,value),如果字典本身为空时报错,举例说明:
>>> dict7
{2: 'two', 3: 'three'}
>>> dict7.popitem()
(2, 'two')
>>> dict7
{3: 'three'}
2.5 给字典增加一个item,setdefault(k[,d]),返回k对应的value值,当k不在字典内时则返回d的值,如果d没提供则返回空;同时如果k不存在字典内时,将d作为value映射给k,举例说明:
>>> dict7
{3: 'three'}
>>> dict7.setdefault(1,'one')
'one'
>>> dict7
{1: 'one', 3: 'three'}
>>> dict7.setdefault(2)
>>> dict7
{1: 'one', 2: None, 3: 'three'}
>>> dict7.setdefault(3,'有')
'three'
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.将一个字典内的item作为item添加到字典内
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
>>> dict7
{1: 'one', 2: None, 3: 'three', 4: 'two'}
>>> dict7.pop(4)
'two'
>>> dict7
{1: 'one', 2: None, 3: 'three'}
>>> dict8 = {4:'four'}
>>> dict7.update(dict8)
>>> dict7
{1: 'one', 2: None, 3: 'three', 4: 'four'}
>>> dict9 = {2:'two'}
>>> dict7.update(dict9)
>>>dict7
{1: 'one', 2: 'two', 3: 'three', 4: 'four'} |
评分
-
查看全部评分
|