| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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()在使用时如果键为引号引起的数字,则在显示中没有引号,如果为字母或符号,则会有引号标注。如果括号内的键字典中已存在,则会显示出该键所对应的值。 
 
二.        部分作业分析 
无 
 
三.        知识掌握程度 
 
心得:进一步掌握了字典的使用方法。 
 
难点:对每个字典方法中参数的理解 
 
重点:避免使用字典中易错的用法。 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |