我搜索了stackoverflow和online,没有找到这个问题的答案
我的字典不断替换值,而不是插入新值,因为我使用循环。我在一个循环中接受用户的输入,并将其插入字典,但它一直在替换。它只在我使用循环时覆盖,没有循环它是可以的,但是我需要循环,我需要一种特定的格式,而不是任何随机键和任何随机值(似乎是大多数python响应)
我需要输出完全如下所示: [{'firstname':罗杰,'lastname':史密斯,'major':历史}, {'firstname':罗德里戈,'lastname':桑多瓦尔,'major':物理学}]
这是我的代码,我做错了什么?谢谢
studentsD = {}
studentsList = []
while more values to enter:
firstname = input('Enter firstname')
lastname = input('Enter lastname')
major = input('Enter major')
studentsD['firstname'] = firstname
studentsD['lastname']=lastname
studentsD['major']=major
studentList.append(studentsD) # problem here
端环
您在所需输出中描述的数据结构是列表,而不是字典,没有键值结构。在字典中,您总是对三个键的三个值进行过多的重写
对于您想要的输出,您需要创建第二个学生列表,并为每个学生在其中放置一个字典
作为替代方案,您可以添加一个学生id,并将其作为学生词典的密钥。然后,您可以在循环中为每个学生递增该ID,并添加以该ID为键的学生词典
相关问题 更多 >
编程相关推荐