Python:使用FOR循环插入字典

2024-05-23 21:46:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在论坛中搜索过了,不知道是否可以使用以下构造将新条目插入到我的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)

输出如下:

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号进去,其他的都没有?

谢谢/


Tags: keyin列表newforinputagedictionary
3条回答

在循环的每个过程中,都将字典重新定义为空。代码应该是。

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)

使用每个循环重新创建字典:

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: ')
   ...

相关问题 更多 >