Python 如何通过仅更改人员索引向大型词典添加新词典
我有一个问题,因为我想使用循环将较小的字典添加到较大的字典中。我设法添加字典,称为1、2、3等。我希望这些字典前面加上单词“person”。你能用一行代码做到吗 这是我的实际代码:Python 如何通过仅更改人员索引向大型词典添加新词典,python,dictionary,Python,Dictionary,我有一个问题,因为我想使用循环将较小的字典添加到较大的字典中。我设法添加字典,称为1、2、3等。我希望这些字典前面加上单词“person”。你能用一行代码做到吗 这是我的实际代码: def smaller_dictionaries(number): dictionary_consist_of_3_smaller_dictionary ={number:{"surname":None,"name":None,"age":None,"profession":None,"marital sta
def smaller_dictionaries(number):
dictionary_consist_of_3_smaller_dictionary ={number:{"surname":None,"name":None,"age":None,"profession":None,"marital status":None} for number in range (1,number)}
print (dictionary_consist_of_3_smaller_dictionary)
smaller_dictionaries(4)
and this is my output:
{1: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 2: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 3: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}}
由于我想在循环中添加前缀“person”,程序显示没有定义名称“person”
dictionary_consist_of_3_smaller_dictionary ={person_(number):{"surname":None,"name":None,"age":None,"profession":None,"marital status":None} for number in range (1,number)}
I want to have output in this form:
{peson_1: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, person_2: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, person_3: {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}}
可以在循环中添加前缀“person”吗?您得到的错误是因为Python将
person\uuu
视为变量名,因此它会引发一个未定义的错误:
未找到本地或全局名称时引发。这只适用于
非限定名称。关联的值是一条错误消息
包括找不到的名称
一种可能的解决方案(代码很少)是使用:
输出
{'person_1': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_2': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_3': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}}
我想你正在寻找这样的东西:
def smaller_dictionaries(number):
dictionary_consist_of_3_smaller_dictionary={}
for i in range(1,number+1):
key_ = 'person_'+str(i)
dictionary_consist_of_3_smaller_dictionary[key_] ={"surname":None,"name":None,"age":None,"profession":None,"marital status":None}
输出:
{'person_1': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_2': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_3': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_4': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}}
{'person_1': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_2': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_3': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}, 'person_4': {'surname': None, 'name': None, 'age': None, 'profession': None, 'marital status': None}}