◎知识点
字典的视图
借助字典创建格式化字符串
◎脚本练习
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @FileName: dict_view_placeholder.py @Function: dict view & placeholder @Author: Zhihe An @Site: https://chegva.com @Time: 2021/6/28 """ """一、字典的视图""" """ 1、得到字典相关视图的三个方法: (1) keys:返回字典所有key的视图 (2) values:返回字典所有value的视图 (3) items:返回字典所有key-value对的视图 """ d = {'name': 'Jack', 'age': 18} keys = d.keys() print(keys) # dict_keys(['name', 'age']) print(list(keys)) # ['name', 'age'] values = d.values() print(values) # dict_values(['Jack', 18]) print(list(values)) # ['Jack', 18] items = d.items() print(items) # dict_items([('name', 'Jack'), ('age', 18)]) print(list(items)) # [('name', 'Jack'), ('age', 18)] """ 2、视图会随字典的变化而随之变化 """ d.pop('age') print(d) # {'name': 'Jack'} print(keys) # dict_keys(['name']) print(values) # dict_values(['Jack']) print(items) # dict_items([('name', 'Jack')]) """二、借助字典创建格式化字符串""" """ 1、使用百分号作为占位符 """ phonebook = {'张三': '13333333333', '李四': '14444444444', '王五': '15555555555', '赵六': '16666666666'} # 王五的号码:15555555555,张三的号码:13333333333 print('王五的号码:%s,张三的号码:%s' % (phonebook['王五'], phonebook['张三'])) """ 当定义的格式化字符串中的占位符是百分号,并且占位符对应的实际值来自于某个字典的value时, 可以把所有的实际值改写为字典,同时根据字典的value对应的key在占位符%的后面添加:(字典的key) 其中,字典的key会被添加一对引号,因此,如果字典的key是字符串,需要去掉字典的key自带的引号 """ # 王五的号码:15555555555,张三的号码:13333333333 print('王五的号码:%(王五)s,张三的号码:%(张三)s' % phonebook) """ 2、使用花括号作为占位符 """ phonebook = {'张三': '13333333333', '李四': '14444444444', '王五': '15555555555', '赵六': '16666666666'} # 王五的号码:15555555555,张三的号码:13333333333 print('王五的号码:{},张三的号码:{}'.format(phonebook['王五'], phonebook['张三'])) """ 当定义的格式化字符串中的占位符是花括号,并且占位符对应的实际值来自于某个字典的value时, 可以调用方法format_map并把该字典直接作为方法的参数,同时根据字典的value在花括号中指定对应的key: {字典的key}。其中,字典的key会被添加一对引号,因此,如果字典的key是字符串,需要去掉字典的key自带的引号 """ # 王五的号码:15555555555,张三的号码:13333333333 print('王五的号码:{王五},张三的号码:{张三}'.format_map(phonebook))