Skip to main content
 首页 » 编程设计

python之解压字符串格式时未使用的字典键

2025年05月04日20bluestorm

有没有办法查看字典中的哪些键在解包以进行字符串格式化时未被使用?

例子:

> format_dict = {'first': 'think', 'second': 'am', 'third': 'never'} 
 
> format_str = 'I {first}, therefore I {second}' 
 
> print(format_str.format(**format_dict)) 
I think, therefore I am 

但在这种情况下我真正想知道的是 key third 从未被使用过。有什么办法可以得到这些信息吗?

请您参考如下方法:

这里不需要摆弄正则表达式,使用官方的 string.Formatter.parse ( doc ):

import string 
 
format_dict = {'first': 'think', 'second': 'am', 'third': 'never'} 
format_str = 'I {first}, therefore I {second}' 
 
format_keys = [i[1] for i in string.Formatter().parse(format_str)] 
print(set(format_dict.keys()) - set(format_keys)) 

打印:

{'third'}