Python列表嵌套字典新增元素出现反斜杠问题排查
Python旅行日志代码反斜杠问题说明与修复
反斜杠产生原因
- 你的
travel_log列表前两个元素都是字典类型,但add_new_country函数里,用f-string拼接了一段文本传入append(),实际追加到列表里的是字符串,不是字典,和原有数据结构完全不匹配。 - 打印列表时,Python会对字符串内部的双引号自动添加反斜杠
\做转义,用来区分「标记字符串起止的边界引号」和「字符串内容里自带的引号」,这就是你看到反斜杠的直接原因。哪怕不考虑转义符,把字符串当字典存,后续遍历、查询旅行数据时也会触发类型错误。
正确实现方式
追加元素时直接构造和原有结构一致的字典对象,不要拼接字符串,修正后的完整代码如下:
travel_log = [ { "country": "France", "visits": 12, "cities": ["Paris", "Lille", "Dijon"] }, { "country": "Germany", "visits": 5, "cities": ["Berlin", "Hamburg", "Stuttgart"] }, ] def add_new_country(c, v, citi): # 构造字典对象追加,而非拼接字符串 travel_log.append({ "country": c, "visits": v, "cities": citi }) add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"]) print(travel_log)
运行后输出的travel_log三个元素均为字典类型,不会出现多余的反斜杠,数据结构完全统一。
内容的提问来源于stack exchange,提问作者student
相关产品推荐
相关产品推荐

