如何去除字典(Dictionary)键中的双引号?
嘿,这个问题我来帮你搞定!
先提个关键细节:你给出的字典里有完全重复的键(都是"Phone numbers"),在Python中,重复键会直接被后面的键值对覆盖,所以如果这不是你的预期,得先调整原数据(比如合并值、给键加区分标识)。不过咱们先聚焦核心需求——去除键中的双引号:
方法一:简洁的字典推导式(默认保留最后一个重复键)
这是最Pythonic的写法,直接遍历原字典,清理每个键的转义双引号实体:
original_dict = {'"Phone numbers"': ['0010', '55200', 'Full Names'], '"Phone numbers"': ['0015','163810', 'Full Names']} # 清理键:移除所有"实体 cleaned_dict = {key.replace('"', ''): value for key, value in original_dict.items()} print(cleaned_dict)
输出结果:
{'Phone numbers': ['0015', '163810', 'Full Names']}
注:因为原字典重复键的特性,这里只保留了最后一组键值对
方法二:保留所有重复键对应的值(合并为列表)
如果你的需求是保留所有重复键的数据,而不是被覆盖,可以这样处理:
original_dict = {'"Phone numbers"': ['0010', '55200', 'Full Names'], '"Phone numbers"': ['0015','163810', 'Full Names']} cleaned_dict = {} for key, value in original_dict.items(): clean_key = key.replace('"', '') if clean_key in cleaned_dict: # 合并列表类型的值,非列表可根据需求调整逻辑 cleaned_dict[clean_key].extend(value) else: cleaned_dict[clean_key] = value.copy() if isinstance(value, list) else value print(cleaned_dict)
输出结果:
{'Phone numbers': ['0010', '55200', 'Full Names', '0015', '163810', 'Full Names']}
补充:如果键是普通双引号而非HTML实体
要是你的键实际是带普通双引号的字符串(比如'"Phone numbers"'),只需把替换参数改成普通双引号即可:
clean_key = key.replace('"', '')
内容的提问来源于stack exchange,提问作者bestmovie clips
相关产品推荐
相关产品推荐

