如何用.format解析字典键?代码报错TypeError: unhashable type: 'dict'
问题分析与解决
你的代码报错是因为test_dict[{}]里用了空字典{}作为字典的键,但字典的键必须是可哈希类型(比如字符串、整数、元组等),而字典本身是不可哈希的,所以触发了TypeError: unhashable type: 'dict'。另外你对.format()方法的用法也存在误解,.format()是用于字符串模板填充,不是这么用来从字典取值的。
正确写法
如果你的需求是通过input_value指定的键从字典中获取对应值,直接用键索引即可:
test_dict = {'name': 'John'} input_value = 'name' value = test_dict[input_value] print(value) # 输出: John
如果是想用字符串模板结合字典值,比如把值插入到某个字符串里,可以这么写:
test_dict = {'name': 'John'} input_value = 'name' # 用.format()填充模板 value = "姓名是: {}".format(test_dict[input_value]) print(value) # 输出: 姓名是: John # 或者更简洁的f-string写法 value = f"姓名是: {test_dict[input_value]}" print(value)
内容的提问来源于stack exchange,提问作者Hari
相关产品推荐
相关产品推荐

