Python 3字典使用报错:输入与输出内容不一致
解决Python字典输入输出不匹配的问题
嘿,我一眼就看出你遇到的问题啦!从截图里的代码能看到,你在定义student字典的时候重复用了"name"这个键,对吧?
为啥会出现这种情况?
Python里的字典有个核心规则:键是唯一的。不管你用哪个版本的Python(3.7+字典是有序的,但这个规则一直没变),如果同一个键出现多次,后面的键值对会直接把前面的覆盖掉。就像你写的"name": "Govind"被后面的"name": "Bhardwaj"替换了,所以最终输出里就只剩最后那个name的值啦。
怎么解决?
根据你的需求,有两种实用的处理方式:
如果是想把多个值(比如名和姓)关联到同一个“名字”概念下,你可以把值改成列表或者集合:
student = { "name": ["Govind", "Bhardwaj"], "age": 21, "course": "B.Tech" } print(student) # 输出: {'name': ['Govind', 'Bhardwaj'], 'age': 21, 'course': 'B.Tech'}之后你可以通过
student["name"][0]拿到第一个名字,student["name"][1]拿到第二个,很方便。如果是想明确区分名和姓,那最好给它们设置不同的键名,这样就不会有覆盖问题了:
student = { "first_name": "Govind", "last_name": "Bhardwaj", "age": 21, "course": "B.Tech" } print(student) # 输出: {'first_name': 'Govind', 'last_name': 'Bhardwaj', 'age': 21, 'course': 'B.Tech'}
小提醒
以后定义字典的时候,一定要注意键的唯一性哦~如果不小心写了重复的键,Python不会报错,但会悄悄覆盖掉前面的值,很容易踩坑!
内容的提问来源于stack exchange,提问作者Govind Bhardwaj
相关产品推荐
相关产品推荐

