下面介绍字典采用的主流方法。
1、items()方法
字典的items()方法用于返回该字典所有键-值对的字典视图:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone.items()
- dict_items([('name', 'Wang'), ('age', 19), ('hobbies', ['sing songs', 'dance', 'basketball'])])
字典所有键-值对的字典视图同样可以迭代:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> for item in someone.items():
- ... print(item)
- ...
- ('name', 'Wang')
- ('age', 19)
- ('hobbies', ['sing songs', 'dance', 'basketball'])
也可以使用类似嵌套元组解包的形式进行迭代:
- >>> for k, v in someone.items():
- ... print('{0} -> {1}'.format(k, v)) # 使用format()格式化
- ...
- name -> Wang
- age -> 19
- hobbies -> ['sing songs', 'dance', 'basketball']
可以利用items()方法在迭代字典时修改该字典:
- >>> grades = {'math': 69, 'Chinese': 78, 'English': 83}
- >>> for k, v in grades.items():
- ... grades[k] = v - 10 # 将该学生每科成绩都减了10分
- ...
- >>> grades
- {'math': 59, 'Chinese': 68, 'English': 73}
2、update()方法
字典的update()方法使用另一个字典对象或可迭代的键-值对更新字典。如果键不在字典中,那么update()方法将项添加到字典中:
- >>> grades = {'math': 69, 'Chinese': 78, 'English': 83}
- >>> other = {'history': 96, 'physics': 56} # 将使用该字典更新grades字典
- >>> grades.update(other)
- >>> grades # grades字典中新增了两个键-值对
- {'math': 69, 'Chinese': 78, 'English': 83, 'history': 96, 'physics': 56}
- >>> other # other字典并没有改变
- {'history': 96, 'physics': 56}
如果键在字典中,那么update()方法将使用新值更新键:
- >>> grades = {'math': 69, 'Chinese': 78, 'English': 83}
- >>> other = {'history': 96, 'English': 56}
- >>> grades.update(other)
- >>> grades # 键'English'的值更新了
- {'math': 69, 'Chinese': 78, 'English': 56, 'history': 96}
3、pop()方法
前文提到过,字典的pop()方法可以移除指定键并返回该键对应的值,但如果指定的键不在字典中,Python解释器会报错:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone.pop('gender') # 键'gender'并不存在
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- KeyError: 'gender'
pop()方法可以提供一个当指定键不存在时的默认值:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> gender = someone.pop('gender', 'famale')
- >>> gender
- 'famale'
- >>> someone # 此时someone字典并没有改变
- {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
>>本文地址:https://www.ujiuye.com/zhuanye/2020/51892.html
声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。
1 您的年龄
2 您的学历
3 您更想做哪个方向的工作?