鱼C论坛

 找回密码
 立即注册
查看: 1873|回复: 0

[技术交流] 026讲总结

[复制链接]
发表于 2017-8-5 13:26:45 | 显示全部楼层 |阅读模式

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

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

x
对于字典,其关键符号就是“{}”
字典的各种内置方法:
dict.fromkeys(S, [,v])创建并返回一个新的字典
S 代表键,v 代表其所对应的值,v 可以省略,默认值为None。如:
>>> dict1.fromkeys((1, 2, 3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1, 2, 3), 'Number')
{1: 'Number', 2: 'Number', 3: 'Number'}
但这里若S为多个对象,且v为多个对象,则fromkeys不会很智能地一一分配给S中的各个对象,而是将v这多个对象看为一个对象再依次赋给S中的多个对象。如:
>>> dict1.fromkeys((1, 2, 3),('one', 'two', 'three'))
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
>>> dict1.fromkeys((1, 3),'数字')
{1: '数字', 3: '数字'}

dict.keys()实现对字典中各键访问
dict.values()实现对字典中各值访问
dict.items()实现对字典总各项访问
如:
>>> dict1 = dict1.fromkeys(range(32), '赞')
>>> dict1
{0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞', 9: '赞', 10: '赞', 11: '赞', 12: '赞', 13: '赞', 14: '赞', 15: '赞', 16: '赞', 17: '赞', 18: '赞', 19: '赞', 20: '赞', 21: '赞', 22: '赞', 23: '赞', 24: '赞', 25: '赞', 26: '赞', 27: '赞', 28: '赞', 29: '赞', 30: '赞', 31: '赞'}
>>> for eachKey in dict1.keys():
        print(eachKey)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
>>> for eachValue in dict1.values():
        print(eachValue)

































>>> for eachItem in dict1.items():
        print(eachItem)
(0, '赞')
(1, '赞')
(2, '赞')
(3, '赞')
(4, '赞')
(5, '赞')
(6, '赞')
(7, '赞')
(8, '赞')
(9, '赞')
(10, '赞')
(11, '赞')
(12, '赞')
(13, '赞')
(14, '赞')
(15, '赞')
(16, '赞')
(17, '赞')
(18, '赞')
(19, '赞')
(20, '赞')
(21, '赞')
(22, '赞')
(23, '赞')
(24, '赞')
(25, '赞')
(26, '赞')
(27, '赞')
(28, '赞')
(29, '赞')
(30, '赞')
(31, '赞')

dict.get(键)  获取键所对应值
>>> print(dict1.get(32))
None
>>> dict1.get(32, '木有')
'木有'
>>> dict1.get(31, '木有')
'赞'
字典中的成员资格操作符: in    not in
二者查找的是键,不是值[ 与序列区分 ],如:
>>> 31 in dict1
True
>>> 32 in dict2
False

dict.clear()  清除字典,使其成为空字典
>>> dict1
{0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞', 9: '赞', 10: '赞', 11: '赞', 12: '赞', 13: '赞', 14: '赞', 15: '赞', 16: '赞', 17: '赞', 18: '赞', 19: '赞', 20: '赞', 21: '赞', 22: '赞', 23: '赞', 24: '赞', 25: '赞', 26: '赞', 27: '赞', 28: '赞', 29: '赞', 30: '赞', 31: '赞'}
>>> dict1.clear()
>>> dict1
{}

dict.pop(键)  给定键返回对应的值,而原字典被删除指定项,如:
>>> a = {1:'one', 2:'two', 3:'three'}
>>> a.pop(2)
'two'
>>> a
{1: 'one', 3: 'three'}

dict.popitem()  无参数 随机返回一个项,而原字典被删除此项,如:
>>> a
{1: 'one', 3: 'three'}
>>> a.popitem()
(1, 'one')
>>> a
{3: 'three'}

dict.setdefault(key, value) 其中value可以省略。若value被省略,则在原字典中增添一个键为 key,值为None的项。若value没被省略,则在原字典增添一个键为key,值为value的项。如:
>>> a
{3: 'three'}
>>> a.setdefault('小白')
>>> a
{3: 'three', '小白': None}
>>> a.setdefault(5, 'five')
'five'
>>> a
{3: 'three', 5: 'five', '小白': None}

dict1.update(dict2) 利用一个字典或映射关系去更新另一个字典。如:
>>> a
{3: 'three', 5: 'five', '小白': None}
>>> b = {'小白':'狗'}
>>> a.update(b)
>>> a
{3: 'three', 5: 'five', '小白': '狗'}

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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