|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
《零基础入门学习Python》
——学习笔记
026字典:当索引不好用时2
一. 定义分析
1. dict.fromkeys(k,v):创建或访问新的字典。k为键,v为值,如果值不存在则显示为None。注意,k与y的对应关系并不是元素一一对应的,而是把y的所有值贴在每个k的元素上
- #举例子
- >>>dict1 = (‘num1’,’num2’,’num3’)
- >>>dict.fromkeys(dict1,10)
- {'num2': '10', 'num3': '10', 'num1': '10'}
复制代码 2. dict.items():将整个所有项以元祖的形式打印出来。把字典中所有的键与值的对应打印出来。
- #举例子
- >>> dict1 = dict.fromkeys(range(30),'福')
- >>> for eachitems in dict.items(dict1):
- print(eachitems)
-
- (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, '福')
复制代码 3. dict.get():
dict[key]:当key不存在的时候,会抛出异常
dict.get(key, defaut_value=None),当key不存在的时候,不会抛出异常,而且会返回默认值,默认值是可以改变的。
- #举例子
- >>> dict1 = dict.fromkeys((1,2,3),'牛')
- >>> dict1
- {1: '牛', 2: '牛', 3: '牛'}
- >>> dict1.get(2,'是什么?')
- '牛'
- >>> dict1.get(4,'是什么?')
- '是什么?'
复制代码 4. 成员资格操作符在字典中的查询:如果不知道字典中是否存在某一键,可以通过in或not in进行查询。
- #举例子
- >>> dict1 = dict.fromkeys((1,2,3),'牛')
- >>> 2 in dict1
- True
- >>> 8 in dict1
- False
复制代码 5. clear():清空一个字典
- #举例子1
- >>> dict1 = dict.fromkeys((1,2,3),'牛')
- >>> dict.clear(dict1)
- >>> dict1
- {}
复制代码- #举例子2
- >>> a = {1}
- >>> b = a
- >>> a.clear()
- >>> a
- {}
- >>> b
- {}
复制代码 6. dict.copy():浅拷贝。注:浅拷贝不等于赋值。
- #举例子
- >>> a = {1:'one',2:'two',3:'three'}
- >>> b = a.copy()
- >>> c = a
- >>> id(a)
- 55082632
- >>> id(b)
- 55826632
- >>> id(c)
- 55082632
复制代码 7. dict.pop()和dict.popitem:
pop是给对应的键弹出对应的值,并且使整个该对应在字典中消失。
popitem则是随机弹出一个键与其对应的值
- #举例子
- >>> a = {1:'one',2:'two',3:'three'}
- >>> a.pop(1)
- 'one'
- >>> a
- {2: 'two', 3: 'three'}
- >>> a.popitem()
- (2, 'two')
- >>> a
- {3: 'three'}
复制代码 8. dict.setdefault:在列表中增加一个键和值,如果没有值只有键则对应值为默认值。
- #举例子
- >>> a
- {1: 'one', 2: 'two', 3: 'three', '?': None, 9: None, '9': None}
- >>> a = {1: 'one', 2: 'two', 3: 'three'}
- >>> a.setdefault('4')
- >>> a
- {1: 'one', 2: 'two', 3: 'three', '4': None}
- >>> a.setdefault(5,'five')
- 'five'
- >>> a
- {1: 'one', 2: 'two', 3: 'three', 5: 'five', '4': None}
复制代码 9. dict.update():更新字典中键所对应的值。
- #举例子
- >>> a = {1: 'one', 2: 'two', 3: None}
- >>> b = {3:'three'}
- >>> a.update(b)
- >>> a
- {1: 'one', 2: 'two', 3: 'three'}
复制代码 二. 杂谈
1.
- >>> dict1 = {1,2,3}
- >>> dict.fromkeys(dict1,'牛')
- {1: '牛', 2: '牛', 3: '牛'}
- >>> print(dict1,get(2,'是什么?'))
- Traceback (most recent call last):
- File "<pyshell#20>", line 1, in <module>
- print(dict1,get(2,'是什么?'))
- [color=Red]NameError: name 'get' is not defined
- [/color]
复制代码 为什么报错了呢?一定要记住,如果朋友们使用***.fromkeys()这个方法的话,如果在前面不将其赋值的话,那么dict1其实还是原来的{1,2,3},而不是将fromkeys后的字典保存,所以如果想保留下来一定要记得用一个键将其赋值。
2.我发现大部分的赋值错误问题都出现在没有很好理解一点,在python中其实赋值这个说法是不准确的,正确理解应该是在值上贴标签,值不会因为标签的变更而变更。
3.dict.setdefault()在使用时如果键为引号引起的数字,则在显示中没有引号,如果为字母或符号,则会有引号标注。如果括号内的键字典中已存在,则会显示出该键所对应的值。
二. 部分作业分析
无
三. 知识掌握程度
心得:进一步掌握了字典的使用方法。
难点:对每个字典方法中参数的理解
重点:避免使用字典中易错的用法。
|
评分
-
查看全部评分
|