鱼C论坛

 找回密码
 立即注册
查看: 4134|回复: 17

[技术交流] 《零基础入门学习Python》26讲内容归纳

[复制链接]
发表于 2015-10-13 22:25:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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'}

评分

参与人数 2荣誉 +8 鱼币 +8 贡献 +5 收起 理由
Yolanda小点 + 5 + 5 + 2 感谢楼主无私奉献!
康小泡 + 3 + 3 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-14 08:31:51 | 显示全部楼层
倒数3、7行里面的list,需改成dict

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
醉酒青牛 + 1 + 1 感谢指正,一起进步!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-14 15:08:32 | 显示全部楼层
温故而知新了下,借助青牛兄的力量,扎实掌握牢固。
有劳青牛兄了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-19 09:29:58 | 显示全部楼层
太好了!:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-19 10:28:28 | 显示全部楼层
整理的不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-22 10:30:28 | 显示全部楼层
还是这个词典的函数更详细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-23 00:03:47 | 显示全部楼层
这么多,得亏楼主整理了,好人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-3 14:06:47 | 显示全部楼层
先顶下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-3 17:03:21 | 显示全部楼层
看完再赞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-6 14:27:55 | 显示全部楼层
非常好非常好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-28 18:34:21 | 显示全部楼层
clear是清除。copy是复制。 copy和赋值不一样。
pop和get的用法差不多,只是2者一个是去除 一个是获取。
popitem去除一个
setdefault增加一个
update增加字典里面的item 后面的加在前面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 23:08:29 | 显示全部楼层
不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-22 17:10:23 | 显示全部楼层
整理太棒了,对我的复习巩固太有帮助了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-5 17:09:42 | 显示全部楼层
学习内容:
dict{} 空字典;
构成结构dict{1:'哈哈'}
dict{key:value}
函数:dict()可以改变一个序列为一个字典。两个参数;
比如dict((1,2,3),'number')生成字典为:{1:number,2:number,3:number}
dict.fromkeys()
keys()
dict.keys()
values()
items()
访问字典
copy()/clear()方法
还有去除字典一个元素内置函数。pop()
eg:
dict1={1:'one',2:'two',3:'three'}
dict1.pop(1,'没有')
dict1.popitem()去除字典中的一个(key,value)
dict1.update(dict2)
给字典增加一个项,即setdefault(key,value)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-13 10:29:08 | 显示全部楼层
不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-19 13:01:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-19 15:17:51 | 显示全部楼层
好多知识点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 16:23:56 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表