Python基础(17)–字典的视图、借助字典创建格式化字符串

◎知识点

  1. 字典的视图

  2. 借助字典创建格式化字符串


◎脚本练习

#!/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))

◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_basic/dict_view_placeholder.py

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/4762.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注