Python:使用FOR循环插入字典
我已经在论坛上搜索过了,不知道是否可以使用下面的结构将新条目插入到我的Python字典中,而不将其转换为列表Python:使用FOR循环插入字典,python,dictionary,Python,Dictionary,我已经在论坛上搜索过了,不知道是否可以使用下面的结构将新条目插入到我的Python字典中,而不将其转换为列表 for x in range(3): pupils_dictionary = {} new_key =input('Enter new key: ') new_age = input('Enter new age: ') pupils_dictionary[new_key] = new_age print(pupils_dictionary) 结果如下:
for x in range(3):
pupils_dictionary = {}
new_key =input('Enter new key: ')
new_age = input('Enter new age: ')
pupils_dictionary[new_key] = new_age
print(pupils_dictionary)
结果如下:
Enter new key: Tim
Enter new age: 45
Enter new key: Sue
Enter new age: 16
Enter new key: Mary
Enter new age: 15
{'Mary': '15'}
为什么只有玛丽15岁,其他人都不进去
谢谢/您可以使用每个循环重新创建字典:
for x in range(3):
pupils_dictionary = {}
new_key =input('Enter new key: ')
...
而是在循环外创建一次:
pupils_dictionary = {}
for x in range(3):
new_key =input('Enter new key: ')
...
每次通过循环时,都将字典重新定义为空。代码应该是
pupils_dictionary = {}
for x in range(3):
new_key =input('Enter new key: ')
new_age = input('Enter new age: ')
pupils_dictionary[new_key] = new_age
print(pupils_dictionary)
因为你有
小学生字典={}
在循环内部,在每个循环上,其值都重置为{}
建议:
使用原始输入而不是输入
因此,该代码应该可以工作:
pupils_dictionary = {}
for x in range(3):
new_key = raw_input('Enter new key: ')
new_age = raw_input('Enter new age: ')
pupils_dictionary[new_key] = new_age
print(pupils_dictionary)
需要考虑的重要事项:当用户重新输入相同的名称时,您会怎么做?!字典不能有重复的键——作为元组列表可能更好。为什么删除了大部分问题?@user3396486我回滚了您的编辑,因为这里的所有答案都是基于您的示例发布的(您通过编辑删除了这些示例)
input
替换了Python 3.x中的raw\u input